diff --git a/README.md b/README.md index a70cae4..8f40b67 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,22 @@ auto cube = Mesh::CreateCube(); - **Memory Pools**: Reduced allocation overhead - **Cache-Friendly Design**: Data structures optimized for CPU cache +## AI God Mode + +Let Claude play god in the world. The engine exposes a JSON HTTP API on +`localhost:9090`; `ai_god.py` wires Claude up to it via tool-use and lets the +model experiment autonomously — querying state, spawning geometry, moving +the camera, iterating on compositions. + +```bash +pip install -r requirements.txt +export ANTHROPIC_API_KEY=sk-ant-... +./build/ModernEngine & +python ai_god.py +``` + +Useful flags: `--max-turns N`, `--port 9090`, `--prompt "build a solar system"`. + ## Contributing 1. Ensure your compiler supports C++23 diff --git a/ai_god.py b/ai_god.py new file mode 100644 index 0000000..395d171 --- /dev/null +++ b/ai_god.py @@ -0,0 +1,327 @@ +""" +Claude plays god in the ZoomEngine 3D world. + +The engine runs a JSON HTTP API on localhost:9090 (AgentAPI.h). This script +wires Claude up to that API via tool-use and lets it experiment with the +world autonomously. + +Usage: + export ANTHROPIC_API_KEY=sk-ant-... + ./build/ModernEngine & # start the engine first + python ai_god.py # let Claude cook + python ai_god.py --max-turns 50 --port 9090 +""" + +from __future__ import annotations + +import argparse +import json +import sys +import time +import urllib.error +import urllib.request + +import anthropic + +MODEL = "claude-opus-4-7" +DEFAULT_PORT = 9090 + +GOD_PROMPT = """You are God of a small 3D universe rendered in real time by the ZoomEngine. +This world is yours. Have fun. Build things. Change things. Break things. Make it beautiful, +strange, alive. Start simple and grow toward more complex, self-referential systems. + +You act on the world through three tools: + - execute: runs one or more engine commands (create/move/rotate/scale/delete/camera/...) + - query_world: returns the current world state (object count, camera, fps) + - wait: pauses so you can let motion or a composition settle before deciding + +Operating principles: + 1. Query the world before acting for the first time, and again whenever you + lose track of what you've built. Don't build blind. + 2. Prefer batched execute calls — many small commands in one tool use — over + a chain of single-command calls. The engine has a native batch action. + 3. Name your objects with the `id` field so you can move, rotate, and delete + them later. Unnamed objects become immortal clutter. + 4. Start small. Place a ground plane or grid first so there's something to + stand on. Then add life. Then add systems. + 5. Evolve. Each iteration should make the world more interesting than the + last — add new kinds of structure, not just more of the same thing. + 6. Use the camera. An orbit command around a composition is how the human + watching actually sees what you built. + 7. Talk to the human watching via the `log` engine command (shows on + screen) or via normal text in your reply. + 8. When you feel the current composition is complete, say so in plain + text and stop — that's a good place to pause.""" + +COMMAND_SCHEMA_HINT = """The `execute` tool accepts a list of engine commands. Each command is a JSON +object with an "action" field. Supported actions: + + {"action":"create","type":"cube|sphere|cylinder|cone|plane|grid|terrain", + "id":"","position":[x,y,z],"scale":[x,y,z],"rotation":[x,y,z], + "color":[r,g,b], // 0..1 + // type-specific: segments, radius, height, width, size, spacing, + // resolution, max_height + } + + {"action":"move", "id":"","position":[x,y,z]} + {"action":"rotate", "id":"","rotation":[x,y,z]} // radians + {"action":"scale", "id":"","scale":[x,y,z]} + {"action":"delete", "id":""} + {"action":"clear"} // remove all + {"action":"camera", "position":[x,y,z], "target":[x,y,z]} + {"action":"orbit", "distance":20,"angle":45,"height":10} + {"action":"sound", "name":"","volume":1.0} + {"action":"music", "name":"","volume":0.7} + {"action":"stop_music"} + {"action":"set", "property":"fov|draw_distance|clear_color|time_scale", + "value":} + {"action":"log", "message":""} + + {"action":"save_world", "name":""} // writes worlds/.json + {"action":"load_world", "name":""} // replaces current world + {"action":"list_worlds"} // returns available saves + +Physics (opt-in, hand-rolled rigid-body world): + {"action":"physics", "enabled":true, "gravity":[0,-9.81,0], "iterations":8} + + {"action":"body", "id":"", + "shape":"sphere|box|plane", + "mass":1.0, "static":false, + "restitution":0.3, "friction":0.5} + Sphere radius = object's max scale component. + Box half-extents = 0.5 * object's scale. + Plane is always static; offset defaults to object's y. + + {"action":"impulse", "id":"", "impulse":[x,y,z], "point":[x,y,z]?} + {"action":"velocity", "id":"", "linear":[x,y,z], "angular":[x,y,z]} + {"action":"remove_body", "id":""} + +Water (Gerstner waves + wave-surface buoyancy, orientation-aware for boxes): + {"action":"water", "enabled":true, + "level":0.0, "size":120, + "amplitude":0.3, "wavelength":8, "speed":1.0, + "shallow":[0.25,0.55,0.6], "deep":[0.02,0.12,0.22], + "density":1.0, "resolution":128} + Bodies bob on actual wave crests; boxes self-right based on corner + submergence; underwater fog activates when camera dips below water. + +Weather (drives wave intensity + current + sky): + {"action":"weather", "wind_dir":[1,0,0], "wind_speed":2.5, + "storminess":0.6, "current_coef":0.8} + storminess 0..1: scales wave amplitude/choppiness, darkens sky, foam at crests. + wind_speed >0: surface current pushes floating bodies in wind_dir. + +Sun/sky palette + HDR tuning: + {"action":"sun", "direction":[-0.3,0.35,-0.2], "color":[1.5,1.1,0.7], + "zenith":[0.15,0.35,0.65], "horizon":[0.95,0.65,0.45], + "ground":[0.12,0.1,0.08], "sky":[0.7,0.55,0.4], + "shadow_extent":80, + "exposure":0.9, "bloom_threshold":1.15, + "bloom_intensity":1.0, "fog_density":0.008} + +Textures (diffuse + optional normal map — procedural names or .bmp/.tga files): + {"action":"create", ..., "texture":"grass", "normal_map":"noise", + "uv_scale":[2,2,1]} + {"action":"texture", "id":"", "name":"wood", "normal_map":"noise"} + Built-in procedural textures: + white, black, checker, grid, stripes, noise + grass, dirt, rock, wood, brick, marble, concrete + Set vertex color near white so the texture color reads through. + "noise" also works well as a cheap normal map for micro-relief on any surface. + +PBR material (Cook-Torrance GGX): + {"action":"create", ..., "metallic":1.0, "roughness":0.3, + "emissive":[4, 2, 0.5]} + {"action":"material", "id":"", "metallic":0.9, "roughness":0.2, + "emissive":[0,0,0], "normal_map":"rock"} + metallic: 0 = dielectric (plastic/wood/stone), 1 = pure metal. + roughness: 0.05 = mirror, 1.0 = fully diffuse matte. 0.7 is default. + emissive: HDR RGB added after shading; drives bloom. Use for flames/lights. + + A typical physics scene: create a ground plane object, register it as + a static plane body, then create some cubes/spheres above and register + them as dynamic bodies with mass>0. Enable physics. Watch them fall. + +World coordinates: Y is up. A reasonable camera is at [10,8,10] looking at +[0,0,0]. Ground plane at y=0. + +When a composition feels complete, save it with a descriptive name so it can +be reloaded later from the main menu.""" + +TOOLS = [ + { + "name": "execute", + "description": ( + "Run a list of engine commands against the 3D world. Commands are " + "executed in order. Use this for all world mutations — creation, " + "movement, deletion, camera, audio, engine settings. Prefer one " + "call with many commands over many calls with one." + ), + "input_schema": { + "type": "object", + "properties": { + "commands": { + "type": "array", + "description": "List of engine command objects.", + "items": {"type": "object"}, + } + }, + "required": ["commands"], + }, + }, + { + "name": "query_world", + "description": ( + "Read the current world state from the engine: object count, " + "named-object count, camera position and target, current FPS. " + "Use this to orient yourself before or after making changes." + ), + "input_schema": {"type": "object", "properties": {}}, + }, + { + "name": "wait", + "description": ( + "Pause for a short time so animation or audio can play out " + "before you decide what to do next. Max 10 seconds." + ), + "input_schema": { + "type": "object", + "properties": { + "seconds": {"type": "number", "description": "0.1 to 10"} + }, + "required": ["seconds"], + }, + }, +] + + +class Engine: + def __init__(self, port: int) -> None: + self.base = f"http://localhost:{port}" + + def _post(self, path: str, body: dict) -> dict: + data = json.dumps(body).encode() + req = urllib.request.Request( + self.base + path, + data=data, + headers={"Content-Type": "application/json"}, + method="POST", + ) + with urllib.request.urlopen(req, timeout=10) as r: + return json.loads(r.read().decode() or "{}") + + def _get(self, path: str) -> dict: + with urllib.request.urlopen(self.base + path, timeout=10) as r: + return json.loads(r.read().decode() or "{}") + + def execute(self, commands: list[dict]) -> dict: + if not commands: + return {"ok": True, "queued": 0} + if len(commands) == 1: + return self._post("/api", commands[0]) + return self._post("/api", {"action": "batch", "commands": commands}) + + def query(self) -> dict: + return self._get("/api/status") + + def ping(self) -> bool: + try: + self.query() + return True + except (urllib.error.URLError, ConnectionError): + return False + + +def run_tool(engine: Engine, name: str, args: dict) -> str: + if name == "execute": + result = engine.execute(args.get("commands", [])) + return json.dumps(result) + if name == "query_world": + return json.dumps(engine.query()) + if name == "wait": + seconds = max(0.1, min(10.0, float(args.get("seconds", 1.0)))) + time.sleep(seconds) + return json.dumps({"waited": seconds}) + return json.dumps({"error": f"unknown tool {name}"}) + + +def main() -> int: + ap = argparse.ArgumentParser() + ap.add_argument("--port", type=int, default=DEFAULT_PORT) + ap.add_argument("--max-turns", type=int, default=40) + ap.add_argument( + "--prompt", + default="Begin. This world is blank. Make something.", + help="Initial user message kicking God into action.", + ) + args = ap.parse_args() + + engine = Engine(args.port) + if not engine.ping(): + print( + f"Cannot reach engine at {engine.base}. Start ModernEngine first.", + file=sys.stderr, + ) + return 1 + + client = anthropic.Anthropic() + system = [ + { + "type": "text", + "text": GOD_PROMPT + "\n\n" + COMMAND_SCHEMA_HINT, + "cache_control": {"type": "ephemeral"}, + } + ] + messages: list[dict] = [{"role": "user", "content": args.prompt}] + + for turn in range(args.max_turns): + response = client.messages.create( + model=MODEL, + max_tokens=16000, + system=system, + tools=TOOLS, + thinking={"type": "adaptive"}, + output_config={"effort": "high"}, + messages=messages, + ) + + for block in response.content: + if block.type == "text" and block.text.strip(): + print(f"\n[god] {block.text}") + elif block.type == "tool_use": + print(f"[tool] {block.name}({json.dumps(block.input)[:200]})") + + if response.stop_reason == "end_turn": + print("\n[god has rested]") + return 0 + + messages.append({"role": "assistant", "content": response.content}) + + tool_results = [] + for block in response.content: + if block.type != "tool_use": + continue + try: + result = run_tool(engine, block.name, block.input) + except Exception as e: + result = json.dumps({"error": str(e)}) + tool_results.append( + { + "type": "tool_result", + "tool_use_id": block.id, + "content": result, + } + ) + + if not tool_results: + # Model stopped without calling a tool and without end_turn. + break + + messages.append({"role": "user", "content": tool_results}) + + print(f"\n[reached max-turns={args.max_turns}]") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/assets/menu.json b/assets/menu.json index b56107d..d2ffaf4 100644 --- a/assets/menu.json +++ b/assets/menu.json @@ -10,6 +10,12 @@ { "label": "Stress Test", "action": "stress" }, { "label": "Spinning Monkey", "action": "monkey" }, { "label": "Monkey Grid", "action": "monkeygrid" }, + { "label": "God Sandbox", "action": "god" }, + { "label": "Grass / Pools", "action": "grass" }, + { "label": "Sunset Forest", "action": "sunset" }, + { "label": "Sanctuary (Full)", "action": "sanctuary" }, + { "label": "Dam (Multi-water)", "action": "dam" }, + { "label": "Waterfall (Flow)", "action": "waterfall" }, { "label": "Level Editor", "action": "edit" }, { "label": "Quit", "action": "quit" } ] diff --git a/assets/shaders/basic.frag b/assets/shaders/basic.frag index 733e013..44f8415 100644 --- a/assets/shaders/basic.frag +++ b/assets/shaders/basic.frag @@ -5,32 +5,24 @@ in vec3 Color; out vec4 FragColor; -uniform vec3 uLightPos; +uniform vec3 uSunDir; +uniform vec3 uSunColor; +uniform vec3 uSkyColor; +uniform vec3 uGroundColor; uniform vec3 uViewPos; -uniform vec3 uLightColor; -uniform float uAmbientStrength; uniform float uSpecularStrength; uniform float uShininess; void main() { - // Normalize the normal vector - vec3 norm = normalize(Normal); - - // Ambient lighting - vec3 ambient = uAmbientStrength * uLightColor; - - // Diffuse lighting - vec3 lightDir = normalize(uLightPos - FragPos); - float diff = max(dot(norm, lightDir), 0.0); - vec3 diffuse = diff * uLightColor; - - // Specular lighting - vec3 viewDir = normalize(uViewPos - FragPos); - vec3 reflectDir = reflect(-lightDir, norm); - float spec = pow(max(dot(viewDir, reflectDir), 0.0), uShininess); - vec3 specular = uSpecularStrength * spec * uLightColor; - - // Combine results - vec3 result = (ambient + diffuse + specular) * Color; + vec3 N = normalize(Normal); + float up = 0.5 + 0.5 * N.y; + vec3 ambient = mix(uGroundColor, uSkyColor, up); + float NdotL = max(dot(N, uSunDir), 0.0); + vec3 diffuse = NdotL * uSunColor; + vec3 V = normalize(uViewPos - FragPos); + vec3 H = normalize(uSunDir + V); + float spec = pow(max(dot(N, H), 0.0), uShininess) * (NdotL > 0.0 ? 1.0 : 0.0); + vec3 specular = uSpecularStrength * spec * uSunColor; + vec3 result = (ambient + diffuse) * Color + specular; FragColor = vec4(result, 1.0); } diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 index fca2a0a..3e8d4f9 100644 --- a/build/CMakeFiles/Makefile2 +++ b/build/CMakeFiles/Makefile2 @@ -85,12 +85,12 @@ clean: CMakeFiles/ModernEngine.dir/clean CMakeFiles/ModernEngine.dir/all: $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/depend $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 "Built target ModernEngine" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 "Built target ModernEngine" .PHONY : CMakeFiles/ModernEngine.dir/all # Build rule for subdir invocation for target. CMakeFiles/ModernEngine.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /Users/will/Documents/zoomengine/build/CMakeFiles 16 + $(CMAKE_COMMAND) -E cmake_progress_start /Users/will/Documents/zoomengine/build/CMakeFiles 18 $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/ModernEngine.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /Users/will/Documents/zoomengine/build/CMakeFiles 0 .PHONY : CMakeFiles/ModernEngine.dir/rule @@ -102,7 +102,7 @@ ModernEngine: CMakeFiles/ModernEngine.dir/rule # codegen rule for target. CMakeFiles/ModernEngine.dir/codegen: $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/codegen - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 "Finished codegen for target ModernEngine" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 "Finished codegen for target ModernEngine" .PHONY : CMakeFiles/ModernEngine.dir/codegen # clean rule for target. diff --git a/build/CMakeFiles/ModernEngine.dir/DependInfo.cmake b/build/CMakeFiles/ModernEngine.dir/DependInfo.cmake index 723c7d7..bc673d8 100644 --- a/build/CMakeFiles/ModernEngine.dir/DependInfo.cmake +++ b/build/CMakeFiles/ModernEngine.dir/DependInfo.cmake @@ -16,11 +16,13 @@ set(CMAKE_DEPENDS_DEPENDENCY_FILES "/Users/will/Documents/zoomengine/src/Mesh.cpp" "CMakeFiles/ModernEngine.dir/src/Mesh.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/Mesh.cpp.o.d" "/Users/will/Documents/zoomengine/src/OBJLoader.cpp" "CMakeFiles/ModernEngine.dir/src/OBJLoader.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/OBJLoader.cpp.o.d" "/Users/will/Documents/zoomengine/src/OBJModelPrimitive.cpp" "CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o.d" + "/Users/will/Documents/zoomengine/src/Physics.cpp" "CMakeFiles/ModernEngine.dir/src/Physics.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/Physics.cpp.o.d" "/Users/will/Documents/zoomengine/src/Renderer.cpp" "CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o.d" "/Users/will/Documents/zoomengine/src/ResourceManager.cpp" "CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o.d" "/Users/will/Documents/zoomengine/src/Scene.cpp" "CMakeFiles/ModernEngine.dir/src/Scene.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/Scene.cpp.o.d" "/Users/will/Documents/zoomengine/src/Shader.cpp" "CMakeFiles/ModernEngine.dir/src/Shader.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/Shader.cpp.o.d" "/Users/will/Documents/zoomengine/src/SimpleTextureLoader.cpp" "CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o.d" + "/Users/will/Documents/zoomengine/src/TextureCache.cpp" "CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o.d" "/Users/will/Documents/zoomengine/src/Window.cpp" "CMakeFiles/ModernEngine.dir/src/Window.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/Window.cpp.o.d" "/Users/will/Documents/zoomengine/src/main.cpp" "CMakeFiles/ModernEngine.dir/src/main.cpp.o" "gcc" "CMakeFiles/ModernEngine.dir/src/main.cpp.o.d" ) diff --git a/build/CMakeFiles/ModernEngine.dir/build.make b/build/CMakeFiles/ModernEngine.dir/build.make index d9fbb5f..de4cdf2 100644 --- a/build/CMakeFiles/ModernEngine.dir/build.make +++ b/build/CMakeFiles/ModernEngine.dir/build.make @@ -170,10 +170,24 @@ CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.s" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/will/Documents/zoomengine/src/OBJModelPrimitive.cpp -o CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.s +CMakeFiles/ModernEngine.dir/src/Physics.cpp.o: CMakeFiles/ModernEngine.dir/flags.make +CMakeFiles/ModernEngine.dir/src/Physics.cpp.o: /Users/will/Documents/zoomengine/src/Physics.cpp +CMakeFiles/ModernEngine.dir/src/Physics.cpp.o: CMakeFiles/ModernEngine.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/ModernEngine.dir/src/Physics.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ModernEngine.dir/src/Physics.cpp.o -MF CMakeFiles/ModernEngine.dir/src/Physics.cpp.o.d -o CMakeFiles/ModernEngine.dir/src/Physics.cpp.o -c /Users/will/Documents/zoomengine/src/Physics.cpp + +CMakeFiles/ModernEngine.dir/src/Physics.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/ModernEngine.dir/src/Physics.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/will/Documents/zoomengine/src/Physics.cpp > CMakeFiles/ModernEngine.dir/src/Physics.cpp.i + +CMakeFiles/ModernEngine.dir/src/Physics.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/ModernEngine.dir/src/Physics.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/will/Documents/zoomengine/src/Physics.cpp -o CMakeFiles/ModernEngine.dir/src/Physics.cpp.s + CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o: CMakeFiles/ModernEngine.dir/flags.make CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o: /Users/will/Documents/zoomengine/src/Renderer.cpp CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o: CMakeFiles/ModernEngine.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o -MF CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o.d -o CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o -c /Users/will/Documents/zoomengine/src/Renderer.cpp CMakeFiles/ModernEngine.dir/src/Renderer.cpp.i: cmake_force @@ -187,7 +201,7 @@ CMakeFiles/ModernEngine.dir/src/Renderer.cpp.s: cmake_force CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o: CMakeFiles/ModernEngine.dir/flags.make CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o: /Users/will/Documents/zoomengine/src/ResourceManager.cpp CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o: CMakeFiles/ModernEngine.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o -MF CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o.d -o CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o -c /Users/will/Documents/zoomengine/src/ResourceManager.cpp CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.i: cmake_force @@ -201,7 +215,7 @@ CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.s: cmake_force CMakeFiles/ModernEngine.dir/src/Scene.cpp.o: CMakeFiles/ModernEngine.dir/flags.make CMakeFiles/ModernEngine.dir/src/Scene.cpp.o: /Users/will/Documents/zoomengine/src/Scene.cpp CMakeFiles/ModernEngine.dir/src/Scene.cpp.o: CMakeFiles/ModernEngine.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/ModernEngine.dir/src/Scene.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/ModernEngine.dir/src/Scene.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ModernEngine.dir/src/Scene.cpp.o -MF CMakeFiles/ModernEngine.dir/src/Scene.cpp.o.d -o CMakeFiles/ModernEngine.dir/src/Scene.cpp.o -c /Users/will/Documents/zoomengine/src/Scene.cpp CMakeFiles/ModernEngine.dir/src/Scene.cpp.i: cmake_force @@ -215,7 +229,7 @@ CMakeFiles/ModernEngine.dir/src/Scene.cpp.s: cmake_force CMakeFiles/ModernEngine.dir/src/Shader.cpp.o: CMakeFiles/ModernEngine.dir/flags.make CMakeFiles/ModernEngine.dir/src/Shader.cpp.o: /Users/will/Documents/zoomengine/src/Shader.cpp CMakeFiles/ModernEngine.dir/src/Shader.cpp.o: CMakeFiles/ModernEngine.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/ModernEngine.dir/src/Shader.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/ModernEngine.dir/src/Shader.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ModernEngine.dir/src/Shader.cpp.o -MF CMakeFiles/ModernEngine.dir/src/Shader.cpp.o.d -o CMakeFiles/ModernEngine.dir/src/Shader.cpp.o -c /Users/will/Documents/zoomengine/src/Shader.cpp CMakeFiles/ModernEngine.dir/src/Shader.cpp.i: cmake_force @@ -229,7 +243,7 @@ CMakeFiles/ModernEngine.dir/src/Shader.cpp.s: cmake_force CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o: CMakeFiles/ModernEngine.dir/flags.make CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o: /Users/will/Documents/zoomengine/src/SimpleTextureLoader.cpp CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o: CMakeFiles/ModernEngine.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o -MF CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o.d -o CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o -c /Users/will/Documents/zoomengine/src/SimpleTextureLoader.cpp CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.i: cmake_force @@ -240,10 +254,24 @@ CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.s" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/will/Documents/zoomengine/src/SimpleTextureLoader.cpp -o CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.s +CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o: CMakeFiles/ModernEngine.dir/flags.make +CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o: /Users/will/Documents/zoomengine/src/TextureCache.cpp +CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o: CMakeFiles/ModernEngine.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o -MF CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o.d -o CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o -c /Users/will/Documents/zoomengine/src/TextureCache.cpp + +CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/will/Documents/zoomengine/src/TextureCache.cpp > CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.i + +CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/will/Documents/zoomengine/src/TextureCache.cpp -o CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.s + CMakeFiles/ModernEngine.dir/src/Window.cpp.o: CMakeFiles/ModernEngine.dir/flags.make CMakeFiles/ModernEngine.dir/src/Window.cpp.o: /Users/will/Documents/zoomengine/src/Window.cpp CMakeFiles/ModernEngine.dir/src/Window.cpp.o: CMakeFiles/ModernEngine.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object CMakeFiles/ModernEngine.dir/src/Window.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Building CXX object CMakeFiles/ModernEngine.dir/src/Window.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ModernEngine.dir/src/Window.cpp.o -MF CMakeFiles/ModernEngine.dir/src/Window.cpp.o.d -o CMakeFiles/ModernEngine.dir/src/Window.cpp.o -c /Users/will/Documents/zoomengine/src/Window.cpp CMakeFiles/ModernEngine.dir/src/Window.cpp.i: cmake_force @@ -257,7 +285,7 @@ CMakeFiles/ModernEngine.dir/src/Window.cpp.s: cmake_force CMakeFiles/ModernEngine.dir/src/main.cpp.o: CMakeFiles/ModernEngine.dir/flags.make CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src/main.cpp CMakeFiles/ModernEngine.dir/src/main.cpp.o: CMakeFiles/ModernEngine.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object CMakeFiles/ModernEngine.dir/src/main.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Building CXX object CMakeFiles/ModernEngine.dir/src/main.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ModernEngine.dir/src/main.cpp.o -MF CMakeFiles/ModernEngine.dir/src/main.cpp.o.d -o CMakeFiles/ModernEngine.dir/src/main.cpp.o -c /Users/will/Documents/zoomengine/src/main.cpp CMakeFiles/ModernEngine.dir/src/main.cpp.i: cmake_force @@ -271,7 +299,7 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.s: cmake_force CMakeFiles/ModernEngine.dir/src/glad.c.o: CMakeFiles/ModernEngine.dir/flags.make CMakeFiles/ModernEngine.dir/src/glad.c.o: /Users/will/Documents/zoomengine/src/glad.c CMakeFiles/ModernEngine.dir/src/glad.c.o: CMakeFiles/ModernEngine.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Building C object CMakeFiles/ModernEngine.dir/src/glad.c.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Building C object CMakeFiles/ModernEngine.dir/src/glad.c.o" /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/ModernEngine.dir/src/glad.c.o -MF CMakeFiles/ModernEngine.dir/src/glad.c.o.d -o CMakeFiles/ModernEngine.dir/src/glad.c.o -c /Users/will/Documents/zoomengine/src/glad.c CMakeFiles/ModernEngine.dir/src/glad.c.i: cmake_force @@ -291,11 +319,13 @@ ModernEngine_OBJECTS = \ "CMakeFiles/ModernEngine.dir/src/Mesh.cpp.o" \ "CMakeFiles/ModernEngine.dir/src/OBJLoader.cpp.o" \ "CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o" \ +"CMakeFiles/ModernEngine.dir/src/Physics.cpp.o" \ "CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o" \ "CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o" \ "CMakeFiles/ModernEngine.dir/src/Scene.cpp.o" \ "CMakeFiles/ModernEngine.dir/src/Shader.cpp.o" \ "CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o" \ +"CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o" \ "CMakeFiles/ModernEngine.dir/src/Window.cpp.o" \ "CMakeFiles/ModernEngine.dir/src/main.cpp.o" \ "CMakeFiles/ModernEngine.dir/src/glad.c.o" @@ -310,18 +340,20 @@ ModernEngine: CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/Mesh.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/OBJLoader.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o +ModernEngine: CMakeFiles/ModernEngine.dir/src/Physics.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/Scene.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/Shader.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o +ModernEngine: CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/Window.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/main.cpp.o ModernEngine: CMakeFiles/ModernEngine.dir/src/glad.c.o ModernEngine: CMakeFiles/ModernEngine.dir/build.make ModernEngine: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework ModernEngine: CMakeFiles/ModernEngine.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Linking CXX executable ModernEngine" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/Users/will/Documents/zoomengine/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Linking CXX executable ModernEngine" $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/ModernEngine.dir/link.txt --verbose=$(VERBOSE) # Rule to build all files generated by this target. diff --git a/build/CMakeFiles/ModernEngine.dir/cmake_clean.cmake b/build/CMakeFiles/ModernEngine.dir/cmake_clean.cmake index 47c1804..3ffd27d 100644 --- a/build/CMakeFiles/ModernEngine.dir/cmake_clean.cmake +++ b/build/CMakeFiles/ModernEngine.dir/cmake_clean.cmake @@ -13,6 +13,8 @@ file(REMOVE_RECURSE "CMakeFiles/ModernEngine.dir/src/OBJLoader.cpp.o.d" "CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o" "CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o.d" + "CMakeFiles/ModernEngine.dir/src/Physics.cpp.o" + "CMakeFiles/ModernEngine.dir/src/Physics.cpp.o.d" "CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o" "CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o.d" "CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o" @@ -23,6 +25,8 @@ file(REMOVE_RECURSE "CMakeFiles/ModernEngine.dir/src/Shader.cpp.o.d" "CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o" "CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o.d" + "CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o" + "CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o.d" "CMakeFiles/ModernEngine.dir/src/Window.cpp.o" "CMakeFiles/ModernEngine.dir/src/Window.cpp.o.d" "CMakeFiles/ModernEngine.dir/src/glad.c.o" diff --git a/build/CMakeFiles/ModernEngine.dir/compiler_depend.internal b/build/CMakeFiles/ModernEngine.dir/compiler_depend.internal index 7a02046..13694bc 100644 --- a/build/CMakeFiles/ModernEngine.dir/compiler_depend.internal +++ b/build/CMakeFiles/ModernEngine.dir/compiler_depend.internal @@ -2149,8 +2149,10 @@ CMakeFiles/ModernEngine.dir/src/Engine.cpp.o /Users/will/Documents/zoomengine/src/Json.h /Users/will/Documents/zoomengine/src/OBJLoader.h /Users/will/Documents/zoomengine/src/OBJModelPrimitive.h + /Users/will/Documents/zoomengine/src/Physics.h /Users/will/Documents/zoomengine/src/Settings.h /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h + /Users/will/Documents/zoomengine/src/TextureCache.h /Users/will/Documents/zoomengine/src/ThreadPool.h /opt/homebrew/Cellar/glfw/3.4/include/GLFW/glfw3.h /opt/homebrew/include/glm/common.hpp @@ -2325,7 +2327,40 @@ CMakeFiles/ModernEngine.dir/src/Engine.cpp.o /opt/homebrew/include/glm/fwd.hpp /opt/homebrew/include/glm/geometric.hpp /opt/homebrew/include/glm/glm.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_common.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.inl + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/matrix_transform.hpp + /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_float.hpp + /opt/homebrew/include/glm/detail/type_quat.hpp + /opt/homebrew/include/glm/detail/type_quat.inl + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.inl /opt/homebrew/include/glm/ext/scalar_constants.hpp /opt/homebrew/include/glm/geometric.hpp /opt/homebrew/include/glm/detail/setup.hpp @@ -2335,23 +2370,46 @@ CMakeFiles/ModernEngine.dir/src/Engine.cpp.o /opt/homebrew/include/glm/gtc/constants.inl /opt/homebrew/include/glm/matrix.hpp /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/vector_relational.hpp /opt/homebrew/include/glm/ext/matrix_clip_space.hpp /opt/homebrew/include/glm/ext/matrix_clip_space.inl /opt/homebrew/include/glm/ext/matrix_projection.hpp /opt/homebrew/include/glm/ext/matrix_projection.inl /opt/homebrew/include/glm/ext/matrix_transform.hpp /opt/homebrew/include/glm/ext/matrix_transform.inl + /opt/homebrew/include/glm/ext/quaternion_common.hpp + /opt/homebrew/include/glm/ext/quaternion_common.inl + /opt/homebrew/include/glm/ext/quaternion_double.hpp + /opt/homebrew/include/glm/ext/quaternion_double_precision.hpp + /opt/homebrew/include/glm/ext/quaternion_float.hpp + /opt/homebrew/include/glm/ext/quaternion_float_precision.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_transform.hpp + /opt/homebrew/include/glm/ext/quaternion_transform.inl + /opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp + /opt/homebrew/include/glm/ext/quaternion_trigonometric.inl + /opt/homebrew/include/glm/ext/scalar_constants.hpp + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/ext/vector_relational.inl /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/matrix_transform.hpp /opt/homebrew/include/glm/mat4x4.hpp /opt/homebrew/include/glm/matrix.hpp /opt/homebrew/include/glm/trigonometric.hpp /opt/homebrew/include/glm/vec2.hpp /opt/homebrew/include/glm/vec3.hpp /opt/homebrew/include/glm/vec4.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/gtc/epsilon.hpp + /opt/homebrew/include/glm/gtc/epsilon.inl /opt/homebrew/include/glm/gtc/matrix_access.hpp /opt/homebrew/include/glm/gtc/matrix_access.inl /opt/homebrew/include/glm/gtc/matrix_transform.hpp /opt/homebrew/include/glm/gtc/matrix_transform.inl + /opt/homebrew/include/glm/gtc/quaternion.hpp + /opt/homebrew/include/glm/gtc/quaternion.inl /opt/homebrew/include/glm/integer.hpp /opt/homebrew/include/glm/mat2x2.hpp /opt/homebrew/include/glm/mat2x3.hpp @@ -4286,6 +4344,7 @@ CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o /Users/will/Documents/zoomengine/src/Engine.h /Users/will/Documents/zoomengine/src/Font.h /Users/will/Documents/zoomengine/src/Json.h + /Users/will/Documents/zoomengine/src/Physics.h /Users/will/Documents/zoomengine/src/Settings.h /Users/will/Documents/zoomengine/src/ThreadPool.h /opt/homebrew/Cellar/glfw/3.4/include/GLFW/glfw3.h @@ -4461,7 +4520,40 @@ CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o /opt/homebrew/include/glm/fwd.hpp /opt/homebrew/include/glm/geometric.hpp /opt/homebrew/include/glm/glm.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_common.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.inl + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/matrix_transform.hpp + /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_float.hpp + /opt/homebrew/include/glm/detail/type_quat.hpp + /opt/homebrew/include/glm/detail/type_quat.inl + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.inl /opt/homebrew/include/glm/ext/scalar_constants.hpp /opt/homebrew/include/glm/geometric.hpp /opt/homebrew/include/glm/detail/setup.hpp @@ -4471,23 +4563,46 @@ CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o /opt/homebrew/include/glm/gtc/constants.inl /opt/homebrew/include/glm/matrix.hpp /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/vector_relational.hpp /opt/homebrew/include/glm/ext/matrix_clip_space.hpp /opt/homebrew/include/glm/ext/matrix_clip_space.inl /opt/homebrew/include/glm/ext/matrix_projection.hpp /opt/homebrew/include/glm/ext/matrix_projection.inl /opt/homebrew/include/glm/ext/matrix_transform.hpp /opt/homebrew/include/glm/ext/matrix_transform.inl + /opt/homebrew/include/glm/ext/quaternion_common.hpp + /opt/homebrew/include/glm/ext/quaternion_common.inl + /opt/homebrew/include/glm/ext/quaternion_double.hpp + /opt/homebrew/include/glm/ext/quaternion_double_precision.hpp + /opt/homebrew/include/glm/ext/quaternion_float.hpp + /opt/homebrew/include/glm/ext/quaternion_float_precision.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_transform.hpp + /opt/homebrew/include/glm/ext/quaternion_transform.inl + /opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp + /opt/homebrew/include/glm/ext/quaternion_trigonometric.inl + /opt/homebrew/include/glm/ext/scalar_constants.hpp + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/ext/vector_relational.inl /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/matrix_transform.hpp /opt/homebrew/include/glm/mat4x4.hpp /opt/homebrew/include/glm/matrix.hpp /opt/homebrew/include/glm/trigonometric.hpp /opt/homebrew/include/glm/vec2.hpp /opt/homebrew/include/glm/vec3.hpp /opt/homebrew/include/glm/vec4.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/gtc/epsilon.hpp + /opt/homebrew/include/glm/gtc/epsilon.inl /opt/homebrew/include/glm/gtc/matrix_access.hpp /opt/homebrew/include/glm/gtc/matrix_access.inl /opt/homebrew/include/glm/gtc/matrix_transform.hpp /opt/homebrew/include/glm/gtc/matrix_transform.inl + /opt/homebrew/include/glm/gtc/quaternion.hpp + /opt/homebrew/include/glm/gtc/quaternion.inl /opt/homebrew/include/glm/integer.hpp /opt/homebrew/include/glm/mat2x2.hpp /opt/homebrew/include/glm/mat2x3.hpp @@ -7791,6 +7906,7 @@ CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o /Users/will/Documents/zoomengine/src/Json.h /Users/will/Documents/zoomengine/src/OBJLoader.h /Users/will/Documents/zoomengine/src/OBJModelPrimitive.h + /Users/will/Documents/zoomengine/src/Physics.h /Users/will/Documents/zoomengine/src/Settings.h /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h /Users/will/Documents/zoomengine/src/ThreadPool.h @@ -7967,7 +8083,40 @@ CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o /opt/homebrew/include/glm/fwd.hpp /opt/homebrew/include/glm/geometric.hpp /opt/homebrew/include/glm/glm.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_common.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.inl + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/matrix_transform.hpp + /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_float.hpp + /opt/homebrew/include/glm/detail/type_quat.hpp + /opt/homebrew/include/glm/detail/type_quat.inl + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.inl /opt/homebrew/include/glm/ext/scalar_constants.hpp /opt/homebrew/include/glm/geometric.hpp /opt/homebrew/include/glm/detail/setup.hpp @@ -7977,12 +8126,1123 @@ CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o /opt/homebrew/include/glm/gtc/constants.inl /opt/homebrew/include/glm/matrix.hpp /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/vector_relational.hpp /opt/homebrew/include/glm/ext/matrix_clip_space.hpp /opt/homebrew/include/glm/ext/matrix_clip_space.inl /opt/homebrew/include/glm/ext/matrix_projection.hpp /opt/homebrew/include/glm/ext/matrix_projection.inl /opt/homebrew/include/glm/ext/matrix_transform.hpp /opt/homebrew/include/glm/ext/matrix_transform.inl + /opt/homebrew/include/glm/ext/quaternion_common.hpp + /opt/homebrew/include/glm/ext/quaternion_common.inl + /opt/homebrew/include/glm/ext/quaternion_double.hpp + /opt/homebrew/include/glm/ext/quaternion_double_precision.hpp + /opt/homebrew/include/glm/ext/quaternion_float.hpp + /opt/homebrew/include/glm/ext/quaternion_float_precision.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_transform.hpp + /opt/homebrew/include/glm/ext/quaternion_transform.inl + /opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp + /opt/homebrew/include/glm/ext/quaternion_trigonometric.inl + /opt/homebrew/include/glm/ext/scalar_constants.hpp + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/ext/vector_relational.inl + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/matrix_transform.hpp + /opt/homebrew/include/glm/mat4x4.hpp + /opt/homebrew/include/glm/matrix.hpp + /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/vec2.hpp + /opt/homebrew/include/glm/vec3.hpp + /opt/homebrew/include/glm/vec4.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/gtc/epsilon.hpp + /opt/homebrew/include/glm/gtc/epsilon.inl + /opt/homebrew/include/glm/gtc/matrix_access.hpp + /opt/homebrew/include/glm/gtc/matrix_access.inl + /opt/homebrew/include/glm/gtc/matrix_transform.hpp + /opt/homebrew/include/glm/gtc/matrix_transform.inl + /opt/homebrew/include/glm/gtc/quaternion.hpp + /opt/homebrew/include/glm/gtc/quaternion.inl + /opt/homebrew/include/glm/integer.hpp + /opt/homebrew/include/glm/mat2x2.hpp + /opt/homebrew/include/glm/mat2x3.hpp + /opt/homebrew/include/glm/mat2x4.hpp + /opt/homebrew/include/glm/mat3x2.hpp + /opt/homebrew/include/glm/mat3x3.hpp + /opt/homebrew/include/glm/mat3x4.hpp + /opt/homebrew/include/glm/mat4x2.hpp + /opt/homebrew/include/glm/mat4x3.hpp + /opt/homebrew/include/glm/mat4x4.hpp + /opt/homebrew/include/glm/matrix.hpp + /opt/homebrew/include/glm/packing.hpp + /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/vec2.hpp + /opt/homebrew/include/glm/vec3.hpp + /opt/homebrew/include/glm/vec4.hpp + /opt/homebrew/include/glm/vector_relational.hpp + +CMakeFiles/ModernEngine.dir/src/Physics.cpp.o + /Users/will/Documents/zoomengine/src/Physics.cpp + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/Availability.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternalLegacy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/___wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__xlocale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_abort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_assert.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_bounds.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctermid.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale_posix2008.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_mb_cur_max.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_printf.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_static_assert.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdlib.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_strings.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_time.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_intmax_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_locale_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint16_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint32_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint8_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uintmax_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctrans_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctype_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wchar.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_xlocale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/alloca.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_limits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_mcontext.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/limits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/signal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/adjacent_find.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/all_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/any_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/binary_search.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/clamp.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp_ref_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_backward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_move_common.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_end.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_first_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if_not.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_segment_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n_segment.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_segment.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/half_positive.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_found_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_fun_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_out_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_out_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/includes.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/inplace_merge.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap_until.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_partitioned.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted_until.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iter_swap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iterator_operations.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lower_bound.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_projected.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/merge.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_max_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/mismatch.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move_backward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/next_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/none_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/nth_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/out_value_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_point.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pop_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/prev_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pstl.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/push_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/radix_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_adjacent_find.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_all_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_any_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_binary_search.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_clamp.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains_subrange.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_backward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_ends_with.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_end.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_first_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if_not.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_last.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fold.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_includes.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_inplace_merge.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap_until.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_partitioned.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted_until.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_iterator_concept.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lexicographical_compare.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lower_bound.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_make_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_merge.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_mismatch.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move_backward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_next_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_none_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_nth_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_point.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_pop_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_prev_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_push_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sample.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_difference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_intersection.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_symmetric_difference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_union.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_shuffle.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_partition.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_starts_with.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_swap_ranges.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_transform.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_upper_bound.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sample.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_difference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_intersection.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_symmetric_difference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_union.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_left.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_right.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shuffle.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sift_down.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/simd_utils.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_partition.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/swap_ranges.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/three_way_comp_ref_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/transform.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/uniform_random_bit_generator_adaptor.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_iter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/upper_bound.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assert + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assertion_handler + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/memory_order.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_cast.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_log2.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/blsr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countl.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/invert_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/popcount.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit_reference + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/tables.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_base_10.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_integral.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/common_comparison_category.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_partial_order_fallback.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_strong_order_fallback.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_weak_order_fallback.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/is_eq.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/ordering.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/partial_order.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/strong_order.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/synth_three_way.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/three_way_comparable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/weak_order.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/arithmetic.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/assignable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/boolean_testable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/class_or_enum.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/common_reference_with.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/constructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/convertible_to.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/copyable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/derived_from.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/destructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/different_from.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/equality_comparable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/invocable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/movable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/predicate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/regular.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/relation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/same_as.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/semiregular.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/swappable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/totally_ordered.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config_site + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/abi.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/availability.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/compiler.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/experimental.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/hardening.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/language.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/platform.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/byte.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/max_align_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/nullptr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/ptrdiff_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/size_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/randomize_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/sanitizers.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/strict_weak_ordering_check.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__exception/exception.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/buffer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/concepts.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/enable_insertable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/extended_grapheme_cluster_table.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_arg.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_error.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_parse_context.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_to_n_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_bool.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_integral.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_output.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/indic_conjunct_break_table.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/parser_std_format_spec.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/unicode.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/width_estimation_table.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binary_function.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binary_negate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/bind.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/bind_back.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/bind_front.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binder1st.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binder2nd.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/boyer_moore_searcher.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/default_searcher.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/function.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/hash.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/identity.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/invoke.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/is_transparent.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/mem_fn.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/mem_fun_ref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/not_fn.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/operations.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/perfect_forward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/pointer_to_binary_function.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/pointer_to_unary_function.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/ranges_operations.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/reference_wrapper.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/unary_function.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/unary_negate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/weak_result_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/array.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/bit_reference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/byte.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/complex.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/format.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/fstream.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/functional.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ios.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/istream.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory_resource.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ostream.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/pair.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/sstream.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/streambuf.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string_view.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/subrange.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/tuple.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/vector.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__hash_table + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ios/fpos.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/access.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/advance.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/aliasing_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/back_insert_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/bounded_iter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/concepts.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/data.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/distance.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/empty.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/erase_if_container.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/incrementable_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/indirectly_comparable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_move.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_swap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/mergeable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_sentinel.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/next.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/permutable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/prev.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/projected.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/ranges_iterator_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/readable_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_access.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/segmented_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/size.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/sortable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/static_bounded_iter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/unreachable_sentinel.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/wrap_iter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/locale_base_api.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/apple.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/bsd_like.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__log_hardening_failure + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/abs.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/copysign.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/error_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/exponential_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fdim.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fma.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/gamma.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hyperbolic_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hypot.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_hyperbolic_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_trigonometric_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/logarithms.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/min_max.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/modulo.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/remainder.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/roots.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/rounding_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/special_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/trigonometric_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mbstate_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/addressof.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocate_at_least.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocation_guard.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_arg_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_destructor.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/array_cookie.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/auto_ptr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/compressed_pair.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/construct_at.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destroy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destruct_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/noexcept_move_assign_container.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/pointer_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_count.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_ptr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/swap_allocator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/temp_value.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uninitialized_algorithms.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_temporary_buffer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uses_allocator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/memory_resource.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mutex/once_flag.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/align_val_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/allocate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/exceptions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_new_delete.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_typed_new_delete.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/launder.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/nothrow_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/placement_new_delete.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__node_handle + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__numeric/partial_sum.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/is_valid.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/log2.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_int_distribution.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_random_bit_generator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/access.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/concepts.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/container_compatible_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/dangling.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/data.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/empty.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_borrowed_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_view.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/from_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/size.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/subrange.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/view_interface.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__split_buffer + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__std_mbstate_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/constexpr_c_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/extern_template_lists.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/errc.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/find_index.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/ignore.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/make_tuple_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/sfinae_helpers.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_indices.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_ext.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_no_subrange.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_size.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_cv_quals.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_pointer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_reference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/aligned_storage.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/aligned_union.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/alignment_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/can_extract_key.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_reference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conditional.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conjunction.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/container_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cv.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cvref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/datasizeof.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/decay.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/dependent_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/desugars_to.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/detected_or.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/disjunction.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/enable_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/extent.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/has_unique_object_representation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/has_virtual_destructor.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integer_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integral_constant.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/invoke.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_abstract.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_aggregate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_allocator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_always_bitcastable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_arithmetic.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_array.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_assignable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_base_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_bounded_array.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_callable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_class.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_compound.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_const.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constant_evaluated.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_convertible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_core_convertible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_destructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_empty.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_enum.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_equality_comparable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_final.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_floating_point.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_function.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_fundamental.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_implicit_lifetime.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_implicitly_default_constructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_integral.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_literal_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_member_pointer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_assignable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_null_pointer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_object.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_pod.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_pointer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_polymorphic.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_primary_template.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference_wrapper.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_referenceable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_replaceable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_same.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_scalar.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_signed.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_specialization.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_standard_layout.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_swappable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivial.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_assignable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_constructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_copyable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_destructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_relocatable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unbounded_array.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_union.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unqualified.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unsigned.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_valid_expansion.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_void.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_volatile.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/lazy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_32_64_or_128_bit.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_const_lvalue_ref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_signed.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_unsigned.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/maybe_const.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/nat.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/negation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/promote.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/rank.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/reference_constructs_from_temporary.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/reference_converts_from_temporary.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_all_extents.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const_ref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cv.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cvref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_extent.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_pointer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_reference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_volatile.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/result_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/strip_signature.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_identity.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_list.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/underlying_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/unwrap_ref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/void_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__undef_macros + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/auto_cast.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/convert_to_integral.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/declval.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/element_count.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/empty.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exception_guard.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exchange.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/forward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/in_place.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/integer_sequence.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_pointer_in_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_valid_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/move.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/no_destroy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/pair.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/piecewise_construct.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/priority_tag.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/private_constructor_tag.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/scope_guard.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/swap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/unreachable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__variant/monostate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/comparison.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/container_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/erase.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/pmr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/swap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool_formatter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_abort + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_trap + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/array + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cassert + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cctype + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cerrno + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cfloat + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/climits + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/clocale + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/compare + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdint + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdio + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstring + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwchar + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwctype + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/errno.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/float.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/initializer_list + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/iosfwd + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/limits + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/math.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/optional + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stddef.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdexcept + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdint.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdio.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdlib.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string_view + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/type_traits + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/typeinfo + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_map + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/version + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wchar.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/errno.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/float.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/_OSByteOrder.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/arm/_OSByteOrder.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/locale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/machine/_structs.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_mcontext.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/limits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/signal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_ptrcheck.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/runetype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stddef.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdlib.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/__endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_posix_availability.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_attr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_symbol_aliasing.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_clock_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ct_rune_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_dev_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_errno_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_id_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int16_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int32_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int64_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int8_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mbstate_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mode_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_null.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_off_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_pid_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rsize_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rune_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_seek_set.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigaltstack.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigset_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ssize_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_time_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timespec.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timeval.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int16_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int32_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int64_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int8_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ucontext.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uid_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wchar_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wint_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/appleapiopts.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/errno.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/resource.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/signal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/syslimits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/wait.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/time.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wchar.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/___wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_ctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdio.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdlib.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_time.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wchar.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wctype.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__float_float.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__float_header_macro.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__float_infinity_nan.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___gnuc_va_list.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___va_copy.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_header_macro.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_arg.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_copy.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_list.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_header_macro.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_max_align_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_null.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_nullptr_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_offsetof.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_ptrdiff_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_rsize_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_size_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_wchar_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/float.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/limits.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/ptrcheck.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdarg.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stddef.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdint.h + /Users/will/Documents/zoomengine/src/Physics.h + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/detail/_vectorize.hpp + /opt/homebrew/include/glm/detail/func_exponential.inl + /opt/homebrew/include/glm/detail/func_vector_relational.inl + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_vec1.hpp + /opt/homebrew/include/glm/detail/type_vec2.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/detail/compute_vector_relational.hpp + /opt/homebrew/include/glm/detail/_fixes.hpp + /opt/homebrew/include/glm/detail/_vectorize.hpp + /opt/homebrew/include/glm/detail/compute_common.hpp + /opt/homebrew/include/glm/detail/func_common.inl + /opt/homebrew/include/glm/detail/func_geometric.inl + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_vec1.hpp + /opt/homebrew/include/glm/detail/type_vec1.inl + /opt/homebrew/include/glm/detail/type_vec2.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/matrix.hpp + /opt/homebrew/include/glm/detail/type_mat2x2.hpp + /opt/homebrew/include/glm/detail/type_mat2x3.hpp + /opt/homebrew/include/glm/detail/type_mat2x3.inl + /opt/homebrew/include/glm/detail/type_mat2x4.hpp + /opt/homebrew/include/glm/detail/type_mat2x4.inl + /opt/homebrew/include/glm/detail/type_mat3x2.hpp + /opt/homebrew/include/glm/detail/type_mat3x2.inl + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.inl + /opt/homebrew/include/glm/detail/type_mat3x4.hpp + /opt/homebrew/include/glm/detail/type_mat3x4.inl + /opt/homebrew/include/glm/detail/type_mat4x2.hpp + /opt/homebrew/include/glm/detail/type_mat4x2.inl + /opt/homebrew/include/glm/detail/type_mat4x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x3.inl + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.inl + /opt/homebrew/include/glm/detail/type_vec2.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/ext/matrix_double2x3.hpp + /opt/homebrew/include/glm/ext/matrix_double2x3_precision.hpp + /opt/homebrew/include/glm/ext/matrix_double2x4.hpp + /opt/homebrew/include/glm/ext/matrix_double2x4_precision.hpp + /opt/homebrew/include/glm/ext/matrix_double3x2.hpp + /opt/homebrew/include/glm/ext/matrix_double3x2_precision.hpp + /opt/homebrew/include/glm/ext/matrix_double3x3.hpp + /opt/homebrew/include/glm/ext/matrix_double3x3_precision.hpp + /opt/homebrew/include/glm/ext/matrix_double3x4.hpp + /opt/homebrew/include/glm/ext/matrix_double3x4_precision.hpp + /opt/homebrew/include/glm/ext/matrix_double4x2.hpp + /opt/homebrew/include/glm/ext/matrix_double4x2_precision.hpp + /opt/homebrew/include/glm/ext/matrix_double4x3.hpp + /opt/homebrew/include/glm/ext/matrix_double4x3_precision.hpp + /opt/homebrew/include/glm/ext/matrix_double4x4.hpp + /opt/homebrew/include/glm/ext/matrix_double4x4_precision.hpp + /opt/homebrew/include/glm/ext/matrix_float2x3.hpp + /opt/homebrew/include/glm/ext/matrix_float2x3_precision.hpp + /opt/homebrew/include/glm/ext/matrix_float2x4.hpp + /opt/homebrew/include/glm/ext/matrix_float2x4_precision.hpp + /opt/homebrew/include/glm/ext/matrix_float3x2.hpp + /opt/homebrew/include/glm/ext/matrix_float3x2_precision.hpp + /opt/homebrew/include/glm/ext/matrix_float3x3.hpp + /opt/homebrew/include/glm/ext/matrix_float3x3_precision.hpp + /opt/homebrew/include/glm/ext/matrix_float3x4.hpp + /opt/homebrew/include/glm/ext/matrix_float3x4_precision.hpp + /opt/homebrew/include/glm/ext/matrix_float4x2.hpp + /opt/homebrew/include/glm/ext/matrix_float4x2_precision.hpp + /opt/homebrew/include/glm/ext/matrix_float4x3.hpp + /opt/homebrew/include/glm/ext/matrix_float4x3_precision.hpp + /opt/homebrew/include/glm/ext/matrix_float4x4.hpp + /opt/homebrew/include/glm/ext/matrix_float4x4_precision.hpp + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/detail/func_matrix.inl + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/mat2x2.hpp + /opt/homebrew/include/glm/mat2x3.hpp + /opt/homebrew/include/glm/mat2x4.hpp + /opt/homebrew/include/glm/mat3x2.hpp + /opt/homebrew/include/glm/mat3x3.hpp + /opt/homebrew/include/glm/mat3x4.hpp + /opt/homebrew/include/glm/mat4x2.hpp + /opt/homebrew/include/glm/mat4x3.hpp + /opt/homebrew/include/glm/mat4x4.hpp + /opt/homebrew/include/glm/matrix.hpp + /opt/homebrew/include/glm/vec2.hpp + /opt/homebrew/include/glm/vec3.hpp + /opt/homebrew/include/glm/vec4.hpp + /opt/homebrew/include/glm/detail/compute_vector_relational.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/_vectorize.hpp + /opt/homebrew/include/glm/detail/compute_vector_decl.hpp + /opt/homebrew/include/glm/detail/compute_vector_relational.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_mat2x2.hpp + /opt/homebrew/include/glm/detail/type_mat2x2.inl + /opt/homebrew/include/glm/detail/type_vec2.hpp + /opt/homebrew/include/glm/detail/type_vec2.inl + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec3.inl + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/detail/type_vec4.inl + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/ext/scalar_int_sized.hpp + /opt/homebrew/include/glm/ext/scalar_uint_sized.hpp + /opt/homebrew/include/glm/ext/vector_int2.hpp + /opt/homebrew/include/glm/ext/vector_int3.hpp + /opt/homebrew/include/glm/ext/vector_int4.hpp + /opt/homebrew/include/glm/ext/vector_uint2.hpp + /opt/homebrew/include/glm/ext/vector_uint3.hpp + /opt/homebrew/include/glm/ext/vector_uint4.hpp + /opt/homebrew/include/glm/ext/matrix_double2x2.hpp + /opt/homebrew/include/glm/ext/matrix_double2x2_precision.hpp + /opt/homebrew/include/glm/ext/matrix_float2x2.hpp + /opt/homebrew/include/glm/ext/matrix_float2x2_precision.hpp + /opt/homebrew/include/glm/ext/vector_bool2.hpp + /opt/homebrew/include/glm/ext/vector_bool2_precision.hpp + /opt/homebrew/include/glm/ext/vector_bool3.hpp + /opt/homebrew/include/glm/ext/vector_bool3_precision.hpp + /opt/homebrew/include/glm/ext/vector_bool4.hpp + /opt/homebrew/include/glm/ext/vector_bool4_precision.hpp + /opt/homebrew/include/glm/ext/vector_double2.hpp + /opt/homebrew/include/glm/ext/vector_double2_precision.hpp + /opt/homebrew/include/glm/ext/vector_double3.hpp + /opt/homebrew/include/glm/ext/vector_double3_precision.hpp + /opt/homebrew/include/glm/ext/vector_double4.hpp + /opt/homebrew/include/glm/ext/vector_double4_precision.hpp + /opt/homebrew/include/glm/ext/vector_float2.hpp + /opt/homebrew/include/glm/ext/vector_float2_precision.hpp + /opt/homebrew/include/glm/ext/vector_float3.hpp + /opt/homebrew/include/glm/ext/vector_float3_precision.hpp + /opt/homebrew/include/glm/ext/vector_float4.hpp + /opt/homebrew/include/glm/ext/vector_float4_precision.hpp + /opt/homebrew/include/glm/ext/vector_int2.hpp + /opt/homebrew/include/glm/ext/vector_int2_sized.hpp + /opt/homebrew/include/glm/ext/vector_int3.hpp + /opt/homebrew/include/glm/ext/vector_int3_sized.hpp + /opt/homebrew/include/glm/ext/vector_int4.hpp + /opt/homebrew/include/glm/ext/vector_int4_sized.hpp + /opt/homebrew/include/glm/ext/vector_uint2.hpp + /opt/homebrew/include/glm/ext/vector_uint2_sized.hpp + /opt/homebrew/include/glm/ext/vector_uint3.hpp + /opt/homebrew/include/glm/ext/vector_uint3_sized.hpp + /opt/homebrew/include/glm/ext/vector_uint4.hpp + /opt/homebrew/include/glm/ext/vector_uint4_sized.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/simd/platform.h + /opt/homebrew/include/glm/detail/_fixes.hpp + /opt/homebrew/include/glm/detail/_vectorize.hpp + /opt/homebrew/include/glm/detail/func_integer.inl + /opt/homebrew/include/glm/detail/func_packing.inl + /opt/homebrew/include/glm/detail/func_trigonometric.inl + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_half.hpp + /opt/homebrew/include/glm/detail/type_half.inl + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/fwd.hpp + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/glm.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_common.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.inl + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/matrix_transform.hpp + /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_float.hpp + /opt/homebrew/include/glm/detail/type_quat.hpp + /opt/homebrew/include/glm/detail/type_quat.inl + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.inl + /opt/homebrew/include/glm/ext/scalar_constants.hpp + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_common.hpp + /opt/homebrew/include/glm/ext/quaternion_common.inl + /opt/homebrew/include/glm/ext/quaternion_double.hpp + /opt/homebrew/include/glm/ext/quaternion_double_precision.hpp + /opt/homebrew/include/glm/ext/quaternion_float.hpp + /opt/homebrew/include/glm/ext/quaternion_float_precision.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_transform.hpp + /opt/homebrew/include/glm/ext/quaternion_transform.inl + /opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp + /opt/homebrew/include/glm/ext/quaternion_trigonometric.inl + /opt/homebrew/include/glm/ext/scalar_constants.hpp + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/ext/vector_relational.inl + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/ext/scalar_constants.hpp + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/matrix.hpp + /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/ext/matrix_clip_space.hpp + /opt/homebrew/include/glm/ext/matrix_clip_space.inl + /opt/homebrew/include/glm/ext/matrix_projection.hpp + /opt/homebrew/include/glm/ext/matrix_projection.inl + /opt/homebrew/include/glm/ext/matrix_transform.hpp + /opt/homebrew/include/glm/ext/matrix_transform.inl + /opt/homebrew/include/glm/ext/scalar_constants.hpp + /opt/homebrew/include/glm/ext/scalar_constants.inl /opt/homebrew/include/glm/geometric.hpp /opt/homebrew/include/glm/mat4x4.hpp /opt/homebrew/include/glm/matrix.hpp @@ -7990,10 +9250,18 @@ CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o /opt/homebrew/include/glm/vec2.hpp /opt/homebrew/include/glm/vec3.hpp /opt/homebrew/include/glm/vec4.hpp - /opt/homebrew/include/glm/gtc/matrix_access.hpp - /opt/homebrew/include/glm/gtc/matrix_access.inl + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/constants.inl /opt/homebrew/include/glm/gtc/matrix_transform.hpp /opt/homebrew/include/glm/gtc/matrix_transform.inl + /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/epsilon.hpp + /opt/homebrew/include/glm/gtc/epsilon.inl + /opt/homebrew/include/glm/gtc/matrix_transform.hpp + /opt/homebrew/include/glm/gtc/quaternion.hpp + /opt/homebrew/include/glm/gtc/quaternion.inl /opt/homebrew/include/glm/integer.hpp /opt/homebrew/include/glm/mat2x2.hpp /opt/homebrew/include/glm/mat2x3.hpp @@ -12930,6 +14198,874 @@ CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o /Users/will/Documents/zoomengine/include/glad.h /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h +CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o + /Users/will/Documents/zoomengine/src/TextureCache.cpp + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/Availability.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternalLegacy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/___wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__xlocale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_abort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_bounds.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctermid.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale_posix2008.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_mb_cur_max.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_printf.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdlib.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_strings.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_time.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_intmax_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_locale_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_nl_item.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint16_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint32_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint8_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uintmax_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctrans_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctype_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wchar.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_xlocale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/alloca.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_limits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_mcontext.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/limits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/signal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/adjacent_find.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/all_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/any_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/binary_search.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/clamp.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp_ref_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_backward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_move_common.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_end.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_first_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if_not.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_segment_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n_segment.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_segment.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/half_positive.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_found_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_fun_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_out_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_out_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/includes.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/inplace_merge.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap_until.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_partitioned.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted_until.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iter_swap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iterator_operations.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lower_bound.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_projected.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/merge.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_max_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/mismatch.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move_backward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/next_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/none_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/nth_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/out_value_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_point.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pop_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/prev_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pstl.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/push_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/radix_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_adjacent_find.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_all_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_any_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_binary_search.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_clamp.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains_subrange.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_backward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_ends_with.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_end.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_first_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if_not.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_last.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fold.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_includes.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_inplace_merge.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap_until.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_partitioned.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted_until.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_iterator_concept.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lexicographical_compare.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lower_bound.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_make_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_merge.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_mismatch.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move_backward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_next_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_none_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_nth_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_point.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_pop_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_prev_permutation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_push_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sample.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_difference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_intersection.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_symmetric_difference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_union.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_shuffle.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_partition.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_starts_with.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_swap_ranges.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_transform.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_upper_bound.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sample.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_difference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_intersection.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_symmetric_difference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_union.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_left.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_right.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shuffle.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sift_down.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/simd_utils.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort_heap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_partition.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_sort.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/swap_ranges.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/three_way_comp_ref_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/transform.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/uniform_random_bit_generator_adaptor.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_iter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/upper_bound.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assert + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assertion_handler + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/atomic.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/atomic_sync.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/check_memory_order.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/contention_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/is_always_lock_free.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/memory_order.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/support.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/support/c11.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/to_gcc_order.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_cast.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_log2.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/blsr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countl.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/invert_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/popcount.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit_reference + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/tables.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_base_10.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_integral.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/duration.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/file_clock.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/high_resolution_clock.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/steady_clock.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/system_clock.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/time_point.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/common_comparison_category.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_partial_order_fallback.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_strong_order_fallback.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_weak_order_fallback.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/is_eq.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/ordering.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/partial_order.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/strong_order.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/synth_three_way.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/three_way_comparable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/weak_order.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/arithmetic.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/assignable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/boolean_testable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/class_or_enum.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/common_reference_with.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/constructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/convertible_to.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/copyable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/derived_from.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/destructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/different_from.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/equality_comparable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/invocable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/movable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/predicate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/regular.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/relation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/same_as.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/semiregular.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/swappable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/totally_ordered.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config_site + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/abi.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/availability.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/compiler.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/experimental.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/hardening.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/language.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/platform.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/byte.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/max_align_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/nullptr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/ptrdiff_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/size_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/randomize_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/sanitizers.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/strict_weak_ordering_check.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__exception/exception.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/copy_options.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/directory_entry.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/directory_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/directory_options.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/file_status.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/file_time_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/file_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/filesystem_error.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/operations.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/path.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/path_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/perm_options.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/perms.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/recursive_directory_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/space_info.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/u8path.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/buffer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/concepts.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/enable_insertable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/extended_grapheme_cluster_table.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_arg.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_error.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_parse_context.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_to_n_result.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_bool.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_integral.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_output.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/indic_conjunct_break_table.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/parser_std_format_spec.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/unicode.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/width_estimation_table.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binary_function.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/hash.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/identity.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/invoke.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/is_transparent.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/operations.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/ranges_operations.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/reference_wrapper.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/unary_function.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/weak_result_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/array.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/bit_reference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/byte.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/complex.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/format.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/fstream.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/functional.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ios.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/istream.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory_resource.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ostream.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/pair.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/sstream.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/streambuf.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string_view.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/subrange.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/tuple.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/vector.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__hash_table + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ios/fpos.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/access.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/advance.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/aliasing_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/back_insert_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/bounded_iter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/concepts.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/data.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/default_sentinel.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/distance.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/empty.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/erase_if_container.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/incrementable_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/indirectly_comparable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/istreambuf_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_move.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_swap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/mergeable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_sentinel.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/next.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/ostreambuf_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/permutable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/prev.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/projected.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/ranges_iterator_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/readable_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_access.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/segmented_iterator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/size.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/sortable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/static_bounded_iter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/unreachable_sentinel.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/wrap_iter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/check_grouping.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/get_c_locale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/locale_base_api.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/messages.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/money.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/num.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/pad_and_output.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/scan_keyword.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/apple.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/bsd_like.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/time.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wbuffer_convert.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__log_hardening_failure + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/abs.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/copysign.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/error_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/exponential_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fdim.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fma.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/gamma.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hyperbolic_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hypot.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_hyperbolic_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_trigonometric_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/logarithms.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/min_max.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/modulo.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/remainder.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/roots.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/rounding_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/special_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/trigonometric_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mbstate_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/addressof.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocate_at_least.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocation_guard.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_arg_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_destructor.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/array_cookie.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/auto_ptr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/compressed_pair.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/construct_at.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destroy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destruct_n.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/noexcept_move_assign_container.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/pointer_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_count.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_ptr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/swap_allocator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/temp_value.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uninitialized_algorithms.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_temporary_buffer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uses_allocator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/memory_resource.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mutex/once_flag.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/align_val_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/allocate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/exceptions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_new_delete.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_typed_new_delete.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/launder.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/nothrow_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/placement_new_delete.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__node_handle + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__numeric/partial_sum.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ostream/put_character_sequence.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/is_valid.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/log2.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_int_distribution.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_random_bit_generator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/access.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/concepts.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/container_compatible_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/dangling.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/data.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/empty.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_borrowed_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_view.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/from_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/size.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/subrange.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/view_interface.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__split_buffer + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__std_mbstate_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/constexpr_c_functions.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/extern_template_lists.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/errc.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/error_category.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/error_code.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/error_condition.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/system_error.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__thread/poll_with_backoff.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/find_index.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/ignore.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/make_tuple_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/sfinae_helpers.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_element.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_indices.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_ext.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_no_subrange.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_size.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_pointer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_reference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/aligned_storage.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/can_extract_key.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_reference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conditional.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conjunction.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/container_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cv.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cvref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/datasizeof.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/decay.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/dependent_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/desugars_to.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/detected_or.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/disjunction.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/enable_if.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/extent.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integer_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integral_constant.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/invoke.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_allocator.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_always_bitcastable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_arithmetic.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_array.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_assignable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_base_of.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_bounded_array.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_callable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_class.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_const.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constant_evaluated.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_convertible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_core_convertible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_destructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_empty.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_enum.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_equality_comparable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_final.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_floating_point.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_function.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_implicitly_default_constructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_integral.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_member_pointer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_assignable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_null_pointer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_object.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_pointer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_primary_template.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference_wrapper.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_referenceable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_replaceable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_same.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_scalar.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_signed.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_specialization.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_standard_layout.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_swappable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_assignable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_constructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_copyable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_destructible.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_relocatable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unbounded_array.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_union.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unqualified.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unsigned.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_valid_expansion.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_void.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_volatile.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/lazy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_32_64_or_128_bit.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_const_lvalue_ref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_signed.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_unsigned.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/maybe_const.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/nat.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/negation.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/promote.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/reference_constructs_from_temporary.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_all_extents.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const_ref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cv.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cvref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_extent.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_pointer.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_reference.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_volatile.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_identity.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_list.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/underlying_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/unwrap_ref.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/void_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__undef_macros + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/auto_cast.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/convert_to_integral.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/declval.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/element_count.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/empty.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exception_guard.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exchange.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/forward.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/in_place.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/integer_sequence.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_pointer_in_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_valid_range.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/move.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/no_destroy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/pair.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/piecewise_construct.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/priority_tag.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/private_constructor_tag.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/scope_guard.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/swap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/unreachable.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__variant/monostate.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/comparison.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/container_traits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/erase.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/pmr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/swap.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool_formatter.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_abort + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_trap + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/array + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cctype + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cerrno + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/climits + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/clocale + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/compare + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdint + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdio + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstring + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ctime + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwchar + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwctype + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/errno.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/filesystem + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/initializer_list + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/iomanip + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ios + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/iosfwd + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/limits + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/math.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/optional + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ratio + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stddef.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdexcept + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdint.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdio.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdlib.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/streambuf + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string_view + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/typeinfo + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_map + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/version + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wchar.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/errno.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/_OSByteOrder.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/arm/_OSByteOrder.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/locale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/machine/_structs.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_mcontext.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/limits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/signal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc_type.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_ptrcheck.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/nl_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/runetype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stddef.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdlib.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/__endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_endian.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_posix_availability.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_attr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_cond_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_key_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_once_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_symbol_aliasing.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_blkcnt_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_blksize_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_caddr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_clock_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ct_rune_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_dev_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_errno_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_clr.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_copy.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_def.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_isset.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_set.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_setsize.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_zero.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fsblkcnt_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fsfilcnt_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_gid_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_id_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_in_addr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_in_port_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ino64_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ino_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int16_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int32_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int64_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int8_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_key_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mbstate_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mode_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_nlink_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_null.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_off_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_pid_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rsize_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rune_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_seek_set.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigaltstack.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigset_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ssize_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_suseconds_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_time_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timespec.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timeval.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_char.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int16_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int32_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int64_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int8_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_short.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ucontext.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uid_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_useconds_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wchar_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wint_t.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/appleapiopts.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/errno.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/resource.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/signal.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/syslimits.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/types.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/wait.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/time.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wchar.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/___wctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_ctype.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdio.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdlib.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_string.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_time.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wchar.h + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wctype.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___gnuc_va_list.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___va_copy.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_header_macro.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_arg.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_copy.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_list.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_header_macro.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_max_align_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_null.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_nullptr_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_offsetof.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_ptrdiff_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_rsize_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_size_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_wchar_t.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/limits.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/ptrcheck.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdarg.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stddef.h + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdint.h + /Users/will/Documents/zoomengine/include/KHR/khrplatform.h + /Users/will/Documents/zoomengine/include/glad.h + /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h + /Users/will/Documents/zoomengine/src/TextureCache.h + CMakeFiles/ModernEngine.dir/src/Window.cpp.o /Users/will/Documents/zoomengine/src/Window.cpp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/Availability.h @@ -15029,7 +17165,9 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o /Users/will/Documents/zoomengine/src/Json.h /Users/will/Documents/zoomengine/src/LevelEditor.cpp /Users/will/Documents/zoomengine/src/MainMenu.h + /Users/will/Documents/zoomengine/src/Physics.h /Users/will/Documents/zoomengine/src/Settings.h + /Users/will/Documents/zoomengine/src/TextureCache.h /Users/will/Documents/zoomengine/src/ThreadPool.h /opt/homebrew/Cellar/glfw/3.4/include/GLFW/glfw3.h /opt/homebrew/include/glm/common.hpp @@ -15204,7 +17342,40 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o /opt/homebrew/include/glm/fwd.hpp /opt/homebrew/include/glm/geometric.hpp /opt/homebrew/include/glm/glm.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/common.hpp + /opt/homebrew/include/glm/detail/type_mat3x3.hpp + /opt/homebrew/include/glm/detail/type_mat4x4.hpp + /opt/homebrew/include/glm/detail/type_vec3.hpp + /opt/homebrew/include/glm/detail/type_vec4.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_common.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.inl + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/matrix_transform.hpp + /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/detail/qualifier.hpp + /opt/homebrew/include/glm/detail/setup.hpp + /opt/homebrew/include/glm/detail/type_float.hpp + /opt/homebrew/include/glm/detail/type_quat.hpp + /opt/homebrew/include/glm/detail/type_quat.inl + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/exponential.hpp + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.inl /opt/homebrew/include/glm/ext/scalar_constants.hpp /opt/homebrew/include/glm/geometric.hpp /opt/homebrew/include/glm/detail/setup.hpp @@ -15214,23 +17385,46 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o /opt/homebrew/include/glm/gtc/constants.inl /opt/homebrew/include/glm/matrix.hpp /opt/homebrew/include/glm/trigonometric.hpp + /opt/homebrew/include/glm/vector_relational.hpp /opt/homebrew/include/glm/ext/matrix_clip_space.hpp /opt/homebrew/include/glm/ext/matrix_clip_space.inl /opt/homebrew/include/glm/ext/matrix_projection.hpp /opt/homebrew/include/glm/ext/matrix_projection.inl /opt/homebrew/include/glm/ext/matrix_transform.hpp /opt/homebrew/include/glm/ext/matrix_transform.inl + /opt/homebrew/include/glm/ext/quaternion_common.hpp + /opt/homebrew/include/glm/ext/quaternion_common.inl + /opt/homebrew/include/glm/ext/quaternion_double.hpp + /opt/homebrew/include/glm/ext/quaternion_double_precision.hpp + /opt/homebrew/include/glm/ext/quaternion_float.hpp + /opt/homebrew/include/glm/ext/quaternion_float_precision.hpp + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp + /opt/homebrew/include/glm/ext/quaternion_relational.hpp + /opt/homebrew/include/glm/ext/quaternion_transform.hpp + /opt/homebrew/include/glm/ext/quaternion_transform.inl + /opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp + /opt/homebrew/include/glm/ext/quaternion_trigonometric.inl + /opt/homebrew/include/glm/ext/scalar_constants.hpp + /opt/homebrew/include/glm/ext/vector_relational.hpp + /opt/homebrew/include/glm/ext/vector_relational.inl /opt/homebrew/include/glm/geometric.hpp + /opt/homebrew/include/glm/gtc/constants.hpp + /opt/homebrew/include/glm/gtc/matrix_transform.hpp /opt/homebrew/include/glm/mat4x4.hpp /opt/homebrew/include/glm/matrix.hpp /opt/homebrew/include/glm/trigonometric.hpp /opt/homebrew/include/glm/vec2.hpp /opt/homebrew/include/glm/vec3.hpp /opt/homebrew/include/glm/vec4.hpp + /opt/homebrew/include/glm/vector_relational.hpp + /opt/homebrew/include/glm/gtc/epsilon.hpp + /opt/homebrew/include/glm/gtc/epsilon.inl /opt/homebrew/include/glm/gtc/matrix_access.hpp /opt/homebrew/include/glm/gtc/matrix_access.inl /opt/homebrew/include/glm/gtc/matrix_transform.hpp /opt/homebrew/include/glm/gtc/matrix_transform.inl + /opt/homebrew/include/glm/gtc/quaternion.hpp + /opt/homebrew/include/glm/gtc/quaternion.inl /opt/homebrew/include/glm/integer.hpp /opt/homebrew/include/glm/mat2x2.hpp /opt/homebrew/include/glm/mat2x3.hpp diff --git a/build/CMakeFiles/ModernEngine.dir/compiler_depend.make b/build/CMakeFiles/ModernEngine.dir/compiler_depend.make index 1aa1272..5497e2c 100644 --- a/build/CMakeFiles/ModernEngine.dir/compiler_depend.make +++ b/build/CMakeFiles/ModernEngine.dir/compiler_depend.make @@ -2147,8 +2147,10 @@ CMakeFiles/ModernEngine.dir/src/Engine.cpp.o: /Users/will/Documents/zoomengine/s /Users/will/Documents/zoomengine/src/Json.h \ /Users/will/Documents/zoomengine/src/OBJLoader.h \ /Users/will/Documents/zoomengine/src/OBJModelPrimitive.h \ + /Users/will/Documents/zoomengine/src/Physics.h \ /Users/will/Documents/zoomengine/src/Settings.h \ /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h \ + /Users/will/Documents/zoomengine/src/TextureCache.h \ /Users/will/Documents/zoomengine/src/ThreadPool.h \ /opt/homebrew/Cellar/glfw/3.4/include/GLFW/glfw3.h \ /opt/homebrew/include/glm/common.hpp \ @@ -2323,7 +2325,40 @@ CMakeFiles/ModernEngine.dir/src/Engine.cpp.o: /Users/will/Documents/zoomengine/s /opt/homebrew/include/glm/fwd.hpp \ /opt/homebrew/include/glm/geometric.hpp \ /opt/homebrew/include/glm/glm.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.inl \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_float.hpp \ + /opt/homebrew/include/glm/detail/type_quat.hpp \ + /opt/homebrew/include/glm/detail/type_quat.inl \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.inl \ /opt/homebrew/include/glm/ext/scalar_constants.hpp \ /opt/homebrew/include/glm/geometric.hpp \ /opt/homebrew/include/glm/detail/setup.hpp \ @@ -2333,23 +2368,46 @@ CMakeFiles/ModernEngine.dir/src/Engine.cpp.o: /Users/will/Documents/zoomengine/s /opt/homebrew/include/glm/gtc/constants.inl \ /opt/homebrew/include/glm/matrix.hpp \ /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ /opt/homebrew/include/glm/ext/matrix_clip_space.hpp \ /opt/homebrew/include/glm/ext/matrix_clip_space.inl \ /opt/homebrew/include/glm/ext/matrix_projection.hpp \ /opt/homebrew/include/glm/ext/matrix_projection.inl \ /opt/homebrew/include/glm/ext/matrix_transform.hpp \ /opt/homebrew/include/glm/ext/matrix_transform.inl \ + /opt/homebrew/include/glm/ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.inl \ + /opt/homebrew/include/glm/ext/quaternion_double.hpp \ + /opt/homebrew/include/glm/ext/quaternion_double_precision.hpp \ + /opt/homebrew/include/glm/ext/quaternion_float.hpp \ + /opt/homebrew/include/glm/ext/quaternion_float_precision.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_transform.hpp \ + /opt/homebrew/include/glm/ext/quaternion_transform.inl \ + /opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_trigonometric.inl \ + /opt/homebrew/include/glm/ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.inl \ /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ /opt/homebrew/include/glm/mat4x4.hpp \ /opt/homebrew/include/glm/matrix.hpp \ /opt/homebrew/include/glm/trigonometric.hpp \ /opt/homebrew/include/glm/vec2.hpp \ /opt/homebrew/include/glm/vec3.hpp \ /opt/homebrew/include/glm/vec4.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.inl \ /opt/homebrew/include/glm/gtc/matrix_access.hpp \ /opt/homebrew/include/glm/gtc/matrix_access.inl \ /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ /opt/homebrew/include/glm/gtc/matrix_transform.inl \ + /opt/homebrew/include/glm/gtc/quaternion.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.inl \ /opt/homebrew/include/glm/integer.hpp \ /opt/homebrew/include/glm/mat2x2.hpp \ /opt/homebrew/include/glm/mat2x3.hpp \ @@ -4282,6 +4340,7 @@ CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o: /Users/will/Documents/zoomeng /Users/will/Documents/zoomengine/src/Engine.h \ /Users/will/Documents/zoomengine/src/Font.h \ /Users/will/Documents/zoomengine/src/Json.h \ + /Users/will/Documents/zoomengine/src/Physics.h \ /Users/will/Documents/zoomengine/src/Settings.h \ /Users/will/Documents/zoomengine/src/ThreadPool.h \ /opt/homebrew/Cellar/glfw/3.4/include/GLFW/glfw3.h \ @@ -4457,7 +4516,40 @@ CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o: /Users/will/Documents/zoomeng /opt/homebrew/include/glm/fwd.hpp \ /opt/homebrew/include/glm/geometric.hpp \ /opt/homebrew/include/glm/glm.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.inl \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_float.hpp \ + /opt/homebrew/include/glm/detail/type_quat.hpp \ + /opt/homebrew/include/glm/detail/type_quat.inl \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.inl \ /opt/homebrew/include/glm/ext/scalar_constants.hpp \ /opt/homebrew/include/glm/geometric.hpp \ /opt/homebrew/include/glm/detail/setup.hpp \ @@ -4467,23 +4559,46 @@ CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o: /Users/will/Documents/zoomeng /opt/homebrew/include/glm/gtc/constants.inl \ /opt/homebrew/include/glm/matrix.hpp \ /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ /opt/homebrew/include/glm/ext/matrix_clip_space.hpp \ /opt/homebrew/include/glm/ext/matrix_clip_space.inl \ /opt/homebrew/include/glm/ext/matrix_projection.hpp \ /opt/homebrew/include/glm/ext/matrix_projection.inl \ /opt/homebrew/include/glm/ext/matrix_transform.hpp \ /opt/homebrew/include/glm/ext/matrix_transform.inl \ + /opt/homebrew/include/glm/ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.inl \ + /opt/homebrew/include/glm/ext/quaternion_double.hpp \ + /opt/homebrew/include/glm/ext/quaternion_double_precision.hpp \ + /opt/homebrew/include/glm/ext/quaternion_float.hpp \ + /opt/homebrew/include/glm/ext/quaternion_float_precision.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_transform.hpp \ + /opt/homebrew/include/glm/ext/quaternion_transform.inl \ + /opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_trigonometric.inl \ + /opt/homebrew/include/glm/ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.inl \ /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ /opt/homebrew/include/glm/mat4x4.hpp \ /opt/homebrew/include/glm/matrix.hpp \ /opt/homebrew/include/glm/trigonometric.hpp \ /opt/homebrew/include/glm/vec2.hpp \ /opt/homebrew/include/glm/vec3.hpp \ /opt/homebrew/include/glm/vec4.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.inl \ /opt/homebrew/include/glm/gtc/matrix_access.hpp \ /opt/homebrew/include/glm/gtc/matrix_access.inl \ /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ /opt/homebrew/include/glm/gtc/matrix_transform.inl \ + /opt/homebrew/include/glm/gtc/quaternion.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.inl \ /opt/homebrew/include/glm/integer.hpp \ /opt/homebrew/include/glm/mat2x2.hpp \ /opt/homebrew/include/glm/mat2x3.hpp \ @@ -7784,6 +7899,7 @@ CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o: /Users/will/Documents/z /Users/will/Documents/zoomengine/src/Json.h \ /Users/will/Documents/zoomengine/src/OBJLoader.h \ /Users/will/Documents/zoomengine/src/OBJModelPrimitive.h \ + /Users/will/Documents/zoomengine/src/Physics.h \ /Users/will/Documents/zoomengine/src/Settings.h \ /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h \ /Users/will/Documents/zoomengine/src/ThreadPool.h \ @@ -7960,7 +8076,40 @@ CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o: /Users/will/Documents/z /opt/homebrew/include/glm/fwd.hpp \ /opt/homebrew/include/glm/geometric.hpp \ /opt/homebrew/include/glm/glm.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.inl \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_float.hpp \ + /opt/homebrew/include/glm/detail/type_quat.hpp \ + /opt/homebrew/include/glm/detail/type_quat.inl \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.inl \ /opt/homebrew/include/glm/ext/scalar_constants.hpp \ /opt/homebrew/include/glm/geometric.hpp \ /opt/homebrew/include/glm/detail/setup.hpp \ @@ -7970,12 +8119,1122 @@ CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o: /Users/will/Documents/z /opt/homebrew/include/glm/gtc/constants.inl \ /opt/homebrew/include/glm/matrix.hpp \ /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ /opt/homebrew/include/glm/ext/matrix_clip_space.hpp \ /opt/homebrew/include/glm/ext/matrix_clip_space.inl \ /opt/homebrew/include/glm/ext/matrix_projection.hpp \ /opt/homebrew/include/glm/ext/matrix_projection.inl \ /opt/homebrew/include/glm/ext/matrix_transform.hpp \ /opt/homebrew/include/glm/ext/matrix_transform.inl \ + /opt/homebrew/include/glm/ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.inl \ + /opt/homebrew/include/glm/ext/quaternion_double.hpp \ + /opt/homebrew/include/glm/ext/quaternion_double_precision.hpp \ + /opt/homebrew/include/glm/ext/quaternion_float.hpp \ + /opt/homebrew/include/glm/ext/quaternion_float_precision.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_transform.hpp \ + /opt/homebrew/include/glm/ext/quaternion_transform.inl \ + /opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_trigonometric.inl \ + /opt/homebrew/include/glm/ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.inl \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/mat4x4.hpp \ + /opt/homebrew/include/glm/matrix.hpp \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/vec2.hpp \ + /opt/homebrew/include/glm/vec3.hpp \ + /opt/homebrew/include/glm/vec4.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.inl \ + /opt/homebrew/include/glm/gtc/matrix_access.hpp \ + /opt/homebrew/include/glm/gtc/matrix_access.inl \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.inl \ + /opt/homebrew/include/glm/gtc/quaternion.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.inl \ + /opt/homebrew/include/glm/integer.hpp \ + /opt/homebrew/include/glm/mat2x2.hpp \ + /opt/homebrew/include/glm/mat2x3.hpp \ + /opt/homebrew/include/glm/mat2x4.hpp \ + /opt/homebrew/include/glm/mat3x2.hpp \ + /opt/homebrew/include/glm/mat3x3.hpp \ + /opt/homebrew/include/glm/mat3x4.hpp \ + /opt/homebrew/include/glm/mat4x2.hpp \ + /opt/homebrew/include/glm/mat4x3.hpp \ + /opt/homebrew/include/glm/mat4x4.hpp \ + /opt/homebrew/include/glm/matrix.hpp \ + /opt/homebrew/include/glm/packing.hpp \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/vec2.hpp \ + /opt/homebrew/include/glm/vec3.hpp \ + /opt/homebrew/include/glm/vec4.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp + +CMakeFiles/ModernEngine.dir/src/Physics.cpp.o: /Users/will/Documents/zoomengine/src/Physics.cpp \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/Availability.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternalLegacy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/___wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_abort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_assert.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_bounds.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctermid.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale_posix2008.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_mb_cur_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_printf.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_static_assert.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_strings.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_intmax_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_locale_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uintmax_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctrans_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctype_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/alloca.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_mcontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/adjacent_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/all_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/any_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/binary_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/clamp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp_ref_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_move_common.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_end.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_first_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if_not.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_segment_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n_segment.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_segment.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/half_positive.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_found_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_fun_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/includes.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/inplace_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_partitioned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iter_swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iterator_operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lower_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_projected.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_max_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/mismatch.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/next_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/none_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/nth_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/out_value_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pop_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/prev_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pstl.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/push_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/radix_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_adjacent_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_all_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_any_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_binary_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_clamp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains_subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_ends_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_end.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_first_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if_not.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_last.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fold.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_includes.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_inplace_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_partitioned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_iterator_concept.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lexicographical_compare.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lower_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_make_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_mismatch.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_next_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_none_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_nth_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_pop_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_prev_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_push_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sample.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_intersection.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_symmetric_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_shuffle.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_starts_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_swap_ranges.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_transform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_upper_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sample.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_intersection.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_symmetric_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_left.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_right.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shuffle.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sift_down.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/simd_utils.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/swap_ranges.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/three_way_comp_ref_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/transform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/uniform_random_bit_generator_adaptor.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/upper_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assert \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assertion_handler \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/memory_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_cast.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_log2.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/blsr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countl.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/invert_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/popcount.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit_reference \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/tables.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_base_10.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/common_comparison_category.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_partial_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_strong_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_weak_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/is_eq.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/ordering.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/partial_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/strong_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/synth_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/three_way_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/weak_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/arithmetic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/boolean_testable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/class_or_enum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/common_reference_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/convertible_to.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/copyable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/derived_from.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/different_from.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/equality_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/invocable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/movable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/predicate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/regular.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/relation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/same_as.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/semiregular.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/swappable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/totally_ordered.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config_site \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/abi.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/availability.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/compiler.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/experimental.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/hardening.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/language.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/platform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/byte.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/max_align_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/nullptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/ptrdiff_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/size_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/randomize_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/sanitizers.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/strict_weak_ordering_check.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__exception/exception.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/buffer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/enable_insertable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/extended_grapheme_cluster_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_arg.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_error.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_parse_context.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_to_n_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_bool.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_output.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/indic_conjunct_break_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/parser_std_format_spec.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/unicode.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/width_estimation_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binary_negate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/bind.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/bind_back.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/bind_front.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binder1st.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binder2nd.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/boyer_moore_searcher.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/default_searcher.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/hash.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/identity.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/invoke.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/is_transparent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/mem_fn.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/mem_fun_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/not_fn.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/perfect_forward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/pointer_to_binary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/pointer_to_unary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/ranges_operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/reference_wrapper.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/unary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/unary_negate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/weak_result_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/bit_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/byte.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/complex.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/format.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/fstream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/functional.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ios.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/istream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory_resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ostream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/sstream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/streambuf.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string_view.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/tuple.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/vector.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__hash_table \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ios/fpos.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/advance.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/aliasing_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/back_insert_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/bounded_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/data.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/distance.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/erase_if_container.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/incrementable_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/indirectly_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/mergeable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_sentinel.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/next.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/permutable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/prev.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/projected.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/ranges_iterator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/readable_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/segmented_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/sortable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/static_bounded_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/unreachable_sentinel.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/wrap_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/locale_base_api.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/apple.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/bsd_like.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__log_hardening_failure \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/abs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/copysign.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/error_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/exponential_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fdim.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fma.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/gamma.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hyperbolic_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hypot.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_hyperbolic_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_trigonometric_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/logarithms.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/min_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/modulo.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/remainder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/roots.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/rounding_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/special_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/trigonometric_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/addressof.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocate_at_least.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocation_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_arg_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_destructor.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/array_cookie.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/auto_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/compressed_pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/construct_at.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destroy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destruct_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/noexcept_move_assign_container.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/pointer_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/swap_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/temp_value.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uninitialized_algorithms.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_temporary_buffer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uses_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/memory_resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mutex/once_flag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/align_val_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/allocate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/exceptions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_typed_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/launder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/nothrow_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/placement_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__node_handle \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__numeric/partial_sum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/is_valid.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/log2.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_int_distribution.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_random_bit_generator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/container_compatible_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/dangling.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/data.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_borrowed_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_view.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/from_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/view_interface.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__split_buffer \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__std_mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/constexpr_c_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/extern_template_lists.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/errc.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/find_index.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/ignore.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/make_tuple_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/sfinae_helpers.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_indices.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_ext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_no_subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_cv_quals.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/aligned_storage.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/aligned_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/alignment_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/can_extract_key.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conditional.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conjunction.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/container_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cv.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cvref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/datasizeof.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/decay.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/dependent_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/desugars_to.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/detected_or.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/disjunction.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/enable_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/extent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/has_unique_object_representation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/has_virtual_destructor.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integer_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integral_constant.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/invoke.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_abstract.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_aggregate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_always_bitcastable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_arithmetic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_base_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_bounded_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_callable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_class.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_compound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constant_evaluated.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_convertible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_core_convertible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_enum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_equality_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_final.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_floating_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_fundamental.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_implicit_lifetime.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_implicitly_default_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_literal_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_member_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_null_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_object.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_pod.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_polymorphic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_primary_template.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference_wrapper.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_referenceable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_replaceable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_same.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_scalar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_signed.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_specialization.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_standard_layout.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_swappable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivial.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_copyable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_relocatable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unbounded_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unqualified.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unsigned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_valid_expansion.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_void.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_volatile.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/lazy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_32_64_or_128_bit.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_const_lvalue_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_signed.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_unsigned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/maybe_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/nat.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/negation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/promote.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/rank.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/reference_constructs_from_temporary.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/reference_converts_from_temporary.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_all_extents.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cv.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cvref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_extent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_volatile.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/result_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/strip_signature.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_identity.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_list.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/underlying_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/unwrap_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/void_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__undef_macros \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/auto_cast.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/convert_to_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/declval.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/element_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exception_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exchange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/forward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/in_place.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/integer_sequence.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_pointer_in_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_valid_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/no_destroy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/piecewise_construct.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/priority_tag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/private_constructor_tag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/scope_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/unreachable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__variant/monostate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/comparison.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/container_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/erase.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/pmr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool_formatter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_abort \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_trap \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/array \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cassert \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cctype \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cerrno \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cfloat \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/climits \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/clocale \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/compare \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdint \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdio \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstring \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwchar \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwctype \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/float.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/initializer_list \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/iosfwd \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/limits \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/math.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/optional \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stddef.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdexcept \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdint.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string_view \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/type_traits \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/typeinfo \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_map \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/version \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/float.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/_OSByteOrder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/arm/_OSByteOrder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/locale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/machine/_structs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_mcontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_ptrcheck.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/runetype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stddef.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/__endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_posix_availability.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_symbol_aliasing.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_clock_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ct_rune_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_dev_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_errno_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_id_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mode_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_null.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_off_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_pid_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rsize_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rune_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_seek_set.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigaltstack.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigset_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ssize_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_time_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timespec.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timeval.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ucontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uid_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wchar_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wint_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/appleapiopts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/syslimits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/wait.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/___wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wctype.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__float_float.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__float_header_macro.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__float_infinity_nan.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___gnuc_va_list.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___va_copy.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_header_macro.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_arg.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_copy.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_list.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_header_macro.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_max_align_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_null.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_nullptr_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_offsetof.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_ptrdiff_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_rsize_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_size_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_wchar_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/float.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/limits.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/ptrcheck.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdarg.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stddef.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdint.h \ + /Users/will/Documents/zoomengine/src/Physics.h \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/detail/_vectorize.hpp \ + /opt/homebrew/include/glm/detail/func_exponential.inl \ + /opt/homebrew/include/glm/detail/func_vector_relational.inl \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_vec1.hpp \ + /opt/homebrew/include/glm/detail/type_vec2.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/detail/compute_vector_relational.hpp \ + /opt/homebrew/include/glm/detail/_fixes.hpp \ + /opt/homebrew/include/glm/detail/_vectorize.hpp \ + /opt/homebrew/include/glm/detail/compute_common.hpp \ + /opt/homebrew/include/glm/detail/func_common.inl \ + /opt/homebrew/include/glm/detail/func_geometric.inl \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_vec1.hpp \ + /opt/homebrew/include/glm/detail/type_vec1.inl \ + /opt/homebrew/include/glm/detail/type_vec2.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/matrix.hpp \ + /opt/homebrew/include/glm/detail/type_mat2x2.hpp \ + /opt/homebrew/include/glm/detail/type_mat2x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat2x3.inl \ + /opt/homebrew/include/glm/detail/type_mat2x4.hpp \ + /opt/homebrew/include/glm/detail/type_mat2x4.inl \ + /opt/homebrew/include/glm/detail/type_mat3x2.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x2.inl \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.inl \ + /opt/homebrew/include/glm/detail/type_mat3x4.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x4.inl \ + /opt/homebrew/include/glm/detail/type_mat4x2.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x2.inl \ + /opt/homebrew/include/glm/detail/type_mat4x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x3.inl \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.inl \ + /opt/homebrew/include/glm/detail/type_vec2.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/ext/matrix_double2x3.hpp \ + /opt/homebrew/include/glm/ext/matrix_double2x3_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_double2x4.hpp \ + /opt/homebrew/include/glm/ext/matrix_double2x4_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_double3x2.hpp \ + /opt/homebrew/include/glm/ext/matrix_double3x2_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_double3x3.hpp \ + /opt/homebrew/include/glm/ext/matrix_double3x3_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_double3x4.hpp \ + /opt/homebrew/include/glm/ext/matrix_double3x4_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_double4x2.hpp \ + /opt/homebrew/include/glm/ext/matrix_double4x2_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_double4x3.hpp \ + /opt/homebrew/include/glm/ext/matrix_double4x3_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_double4x4.hpp \ + /opt/homebrew/include/glm/ext/matrix_double4x4_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_float2x3.hpp \ + /opt/homebrew/include/glm/ext/matrix_float2x3_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_float2x4.hpp \ + /opt/homebrew/include/glm/ext/matrix_float2x4_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_float3x2.hpp \ + /opt/homebrew/include/glm/ext/matrix_float3x2_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_float3x3.hpp \ + /opt/homebrew/include/glm/ext/matrix_float3x3_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_float3x4.hpp \ + /opt/homebrew/include/glm/ext/matrix_float3x4_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_float4x2.hpp \ + /opt/homebrew/include/glm/ext/matrix_float4x2_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_float4x3.hpp \ + /opt/homebrew/include/glm/ext/matrix_float4x3_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_float4x4.hpp \ + /opt/homebrew/include/glm/ext/matrix_float4x4_precision.hpp \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/detail/func_matrix.inl \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/mat2x2.hpp \ + /opt/homebrew/include/glm/mat2x3.hpp \ + /opt/homebrew/include/glm/mat2x4.hpp \ + /opt/homebrew/include/glm/mat3x2.hpp \ + /opt/homebrew/include/glm/mat3x3.hpp \ + /opt/homebrew/include/glm/mat3x4.hpp \ + /opt/homebrew/include/glm/mat4x2.hpp \ + /opt/homebrew/include/glm/mat4x3.hpp \ + /opt/homebrew/include/glm/mat4x4.hpp \ + /opt/homebrew/include/glm/matrix.hpp \ + /opt/homebrew/include/glm/vec2.hpp \ + /opt/homebrew/include/glm/vec3.hpp \ + /opt/homebrew/include/glm/vec4.hpp \ + /opt/homebrew/include/glm/detail/compute_vector_relational.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/_vectorize.hpp \ + /opt/homebrew/include/glm/detail/compute_vector_decl.hpp \ + /opt/homebrew/include/glm/detail/compute_vector_relational.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_mat2x2.hpp \ + /opt/homebrew/include/glm/detail/type_mat2x2.inl \ + /opt/homebrew/include/glm/detail/type_vec2.hpp \ + /opt/homebrew/include/glm/detail/type_vec2.inl \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.inl \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.inl \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/ext/scalar_int_sized.hpp \ + /opt/homebrew/include/glm/ext/scalar_uint_sized.hpp \ + /opt/homebrew/include/glm/ext/vector_int2.hpp \ + /opt/homebrew/include/glm/ext/vector_int3.hpp \ + /opt/homebrew/include/glm/ext/vector_int4.hpp \ + /opt/homebrew/include/glm/ext/vector_uint2.hpp \ + /opt/homebrew/include/glm/ext/vector_uint3.hpp \ + /opt/homebrew/include/glm/ext/vector_uint4.hpp \ + /opt/homebrew/include/glm/ext/matrix_double2x2.hpp \ + /opt/homebrew/include/glm/ext/matrix_double2x2_precision.hpp \ + /opt/homebrew/include/glm/ext/matrix_float2x2.hpp \ + /opt/homebrew/include/glm/ext/matrix_float2x2_precision.hpp \ + /opt/homebrew/include/glm/ext/vector_bool2.hpp \ + /opt/homebrew/include/glm/ext/vector_bool2_precision.hpp \ + /opt/homebrew/include/glm/ext/vector_bool3.hpp \ + /opt/homebrew/include/glm/ext/vector_bool3_precision.hpp \ + /opt/homebrew/include/glm/ext/vector_bool4.hpp \ + /opt/homebrew/include/glm/ext/vector_bool4_precision.hpp \ + /opt/homebrew/include/glm/ext/vector_double2.hpp \ + /opt/homebrew/include/glm/ext/vector_double2_precision.hpp \ + /opt/homebrew/include/glm/ext/vector_double3.hpp \ + /opt/homebrew/include/glm/ext/vector_double3_precision.hpp \ + /opt/homebrew/include/glm/ext/vector_double4.hpp \ + /opt/homebrew/include/glm/ext/vector_double4_precision.hpp \ + /opt/homebrew/include/glm/ext/vector_float2.hpp \ + /opt/homebrew/include/glm/ext/vector_float2_precision.hpp \ + /opt/homebrew/include/glm/ext/vector_float3.hpp \ + /opt/homebrew/include/glm/ext/vector_float3_precision.hpp \ + /opt/homebrew/include/glm/ext/vector_float4.hpp \ + /opt/homebrew/include/glm/ext/vector_float4_precision.hpp \ + /opt/homebrew/include/glm/ext/vector_int2.hpp \ + /opt/homebrew/include/glm/ext/vector_int2_sized.hpp \ + /opt/homebrew/include/glm/ext/vector_int3.hpp \ + /opt/homebrew/include/glm/ext/vector_int3_sized.hpp \ + /opt/homebrew/include/glm/ext/vector_int4.hpp \ + /opt/homebrew/include/glm/ext/vector_int4_sized.hpp \ + /opt/homebrew/include/glm/ext/vector_uint2.hpp \ + /opt/homebrew/include/glm/ext/vector_uint2_sized.hpp \ + /opt/homebrew/include/glm/ext/vector_uint3.hpp \ + /opt/homebrew/include/glm/ext/vector_uint3_sized.hpp \ + /opt/homebrew/include/glm/ext/vector_uint4.hpp \ + /opt/homebrew/include/glm/ext/vector_uint4_sized.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/simd/platform.h \ + /opt/homebrew/include/glm/detail/_fixes.hpp \ + /opt/homebrew/include/glm/detail/_vectorize.hpp \ + /opt/homebrew/include/glm/detail/func_integer.inl \ + /opt/homebrew/include/glm/detail/func_packing.inl \ + /opt/homebrew/include/glm/detail/func_trigonometric.inl \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_half.hpp \ + /opt/homebrew/include/glm/detail/type_half.inl \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/fwd.hpp \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/glm.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.inl \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_float.hpp \ + /opt/homebrew/include/glm/detail/type_quat.hpp \ + /opt/homebrew/include/glm/detail/type_quat.inl \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.inl \ + /opt/homebrew/include/glm/ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.inl \ + /opt/homebrew/include/glm/ext/quaternion_double.hpp \ + /opt/homebrew/include/glm/ext/quaternion_double_precision.hpp \ + /opt/homebrew/include/glm/ext/quaternion_float.hpp \ + /opt/homebrew/include/glm/ext/quaternion_float_precision.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_transform.hpp \ + /opt/homebrew/include/glm/ext/quaternion_transform.inl \ + /opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_trigonometric.inl \ + /opt/homebrew/include/glm/ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.inl \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/matrix.hpp \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/ext/matrix_clip_space.hpp \ + /opt/homebrew/include/glm/ext/matrix_clip_space.inl \ + /opt/homebrew/include/glm/ext/matrix_projection.hpp \ + /opt/homebrew/include/glm/ext/matrix_projection.inl \ + /opt/homebrew/include/glm/ext/matrix_transform.hpp \ + /opt/homebrew/include/glm/ext/matrix_transform.inl \ + /opt/homebrew/include/glm/ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/ext/scalar_constants.inl \ /opt/homebrew/include/glm/geometric.hpp \ /opt/homebrew/include/glm/mat4x4.hpp \ /opt/homebrew/include/glm/matrix.hpp \ @@ -7983,10 +9242,18 @@ CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o: /Users/will/Documents/z /opt/homebrew/include/glm/vec2.hpp \ /opt/homebrew/include/glm/vec3.hpp \ /opt/homebrew/include/glm/vec4.hpp \ - /opt/homebrew/include/glm/gtc/matrix_access.hpp \ - /opt/homebrew/include/glm/gtc/matrix_access.inl \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/constants.inl \ /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ /opt/homebrew/include/glm/gtc/matrix_transform.inl \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.inl \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.inl \ /opt/homebrew/include/glm/integer.hpp \ /opt/homebrew/include/glm/mat2x2.hpp \ /opt/homebrew/include/glm/mat2x3.hpp \ @@ -12918,6 +14185,873 @@ CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o: /Users/will/Documents /Users/will/Documents/zoomengine/include/glad.h \ /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h +CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o: /Users/will/Documents/zoomengine/src/TextureCache.cpp \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/Availability.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternalLegacy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/___wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_abort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_bounds.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctermid.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale_posix2008.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_mb_cur_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_printf.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_strings.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_intmax_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_locale_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_nl_item.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uintmax_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctrans_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctype_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/alloca.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_mcontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/adjacent_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/all_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/any_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/binary_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/clamp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp_ref_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_move_common.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_end.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_first_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if_not.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_segment_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n_segment.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_segment.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/half_positive.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_found_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_fun_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/includes.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/inplace_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_partitioned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iter_swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iterator_operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lower_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_projected.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_max_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/mismatch.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/next_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/none_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/nth_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/out_value_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pop_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/prev_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pstl.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/push_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/radix_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_adjacent_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_all_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_any_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_binary_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_clamp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains_subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_ends_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_end.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_first_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if_not.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_last.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fold.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_includes.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_inplace_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_partitioned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_iterator_concept.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lexicographical_compare.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lower_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_make_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_mismatch.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_next_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_none_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_nth_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_pop_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_prev_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_push_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sample.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_intersection.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_symmetric_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_shuffle.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_starts_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_swap_ranges.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_transform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_upper_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sample.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_intersection.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_symmetric_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_left.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_right.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shuffle.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sift_down.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/simd_utils.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/swap_ranges.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/three_way_comp_ref_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/transform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/uniform_random_bit_generator_adaptor.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/upper_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assert \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assertion_handler \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/atomic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/atomic_sync.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/check_memory_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/contention_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/is_always_lock_free.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/memory_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/support.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/support/c11.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/to_gcc_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_cast.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_log2.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/blsr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countl.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/invert_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/popcount.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit_reference \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/tables.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_base_10.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/duration.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/file_clock.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/high_resolution_clock.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/steady_clock.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/system_clock.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/time_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/common_comparison_category.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_partial_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_strong_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_weak_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/is_eq.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/ordering.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/partial_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/strong_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/synth_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/three_way_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/weak_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/arithmetic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/boolean_testable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/class_or_enum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/common_reference_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/convertible_to.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/copyable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/derived_from.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/different_from.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/equality_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/invocable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/movable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/predicate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/regular.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/relation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/same_as.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/semiregular.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/swappable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/totally_ordered.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config_site \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/abi.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/availability.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/compiler.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/experimental.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/hardening.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/language.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/platform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/byte.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/max_align_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/nullptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/ptrdiff_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/size_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/randomize_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/sanitizers.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/strict_weak_ordering_check.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__exception/exception.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/copy_options.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/directory_entry.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/directory_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/directory_options.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/file_status.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/file_time_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/file_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/filesystem_error.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/path.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/path_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/perm_options.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/perms.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/recursive_directory_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/space_info.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/u8path.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/buffer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/enable_insertable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/extended_grapheme_cluster_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_arg.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_error.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_parse_context.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_to_n_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_bool.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_output.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/indic_conjunct_break_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/parser_std_format_spec.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/unicode.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/width_estimation_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/hash.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/identity.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/invoke.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/is_transparent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/ranges_operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/reference_wrapper.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/unary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/weak_result_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/bit_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/byte.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/complex.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/format.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/fstream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/functional.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ios.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/istream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory_resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ostream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/sstream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/streambuf.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string_view.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/tuple.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/vector.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__hash_table \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ios/fpos.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/advance.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/aliasing_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/back_insert_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/bounded_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/data.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/default_sentinel.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/distance.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/erase_if_container.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/incrementable_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/indirectly_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/istreambuf_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/mergeable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_sentinel.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/next.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/ostreambuf_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/permutable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/prev.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/projected.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/ranges_iterator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/readable_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/segmented_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/sortable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/static_bounded_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/unreachable_sentinel.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/wrap_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/check_grouping.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/get_c_locale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/locale_base_api.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/messages.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/money.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/num.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/pad_and_output.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/scan_keyword.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/apple.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/bsd_like.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wbuffer_convert.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__log_hardening_failure \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/abs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/copysign.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/error_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/exponential_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fdim.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fma.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/gamma.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hyperbolic_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hypot.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_hyperbolic_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_trigonometric_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/logarithms.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/min_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/modulo.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/remainder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/roots.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/rounding_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/special_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/trigonometric_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/addressof.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocate_at_least.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocation_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_arg_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_destructor.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/array_cookie.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/auto_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/compressed_pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/construct_at.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destroy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destruct_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/noexcept_move_assign_container.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/pointer_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/swap_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/temp_value.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uninitialized_algorithms.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_temporary_buffer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uses_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/memory_resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mutex/once_flag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/align_val_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/allocate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/exceptions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_typed_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/launder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/nothrow_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/placement_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__node_handle \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__numeric/partial_sum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ostream/put_character_sequence.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/is_valid.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/log2.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_int_distribution.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_random_bit_generator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/container_compatible_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/dangling.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/data.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_borrowed_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_view.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/from_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/view_interface.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__split_buffer \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__std_mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/constexpr_c_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/extern_template_lists.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/errc.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/error_category.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/error_code.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/error_condition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/system_error.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__thread/poll_with_backoff.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/find_index.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/ignore.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/make_tuple_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/sfinae_helpers.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_indices.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_ext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_no_subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/aligned_storage.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/can_extract_key.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conditional.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conjunction.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/container_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cv.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cvref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/datasizeof.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/decay.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/dependent_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/desugars_to.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/detected_or.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/disjunction.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/enable_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/extent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integer_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integral_constant.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/invoke.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_always_bitcastable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_arithmetic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_base_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_bounded_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_callable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_class.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constant_evaluated.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_convertible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_core_convertible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_enum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_equality_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_final.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_floating_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_implicitly_default_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_member_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_null_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_object.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_primary_template.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference_wrapper.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_referenceable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_replaceable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_same.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_scalar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_signed.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_specialization.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_standard_layout.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_swappable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_copyable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_relocatable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unbounded_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unqualified.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unsigned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_valid_expansion.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_void.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_volatile.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/lazy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_32_64_or_128_bit.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_const_lvalue_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_signed.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_unsigned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/maybe_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/nat.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/negation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/promote.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/reference_constructs_from_temporary.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_all_extents.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cv.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cvref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_extent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_volatile.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_identity.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_list.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/underlying_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/unwrap_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/void_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__undef_macros \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/auto_cast.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/convert_to_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/declval.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/element_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exception_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exchange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/forward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/in_place.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/integer_sequence.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_pointer_in_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_valid_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/no_destroy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/piecewise_construct.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/priority_tag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/private_constructor_tag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/scope_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/unreachable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__variant/monostate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/comparison.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/container_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/erase.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/pmr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool_formatter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_abort \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_trap \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/array \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cctype \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cerrno \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/climits \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/clocale \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/compare \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdint \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdio \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstring \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ctime \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwchar \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwctype \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/filesystem \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/initializer_list \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/iomanip \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ios \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/iosfwd \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/limits \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/math.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/optional \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ratio \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stddef.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdexcept \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdint.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/streambuf \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string_view \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/typeinfo \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_map \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/version \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/_OSByteOrder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/arm/_OSByteOrder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/locale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/machine/_structs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_mcontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_ptrcheck.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/nl_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/runetype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stddef.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/__endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_posix_availability.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_symbol_aliasing.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_blkcnt_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_blksize_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_caddr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_clock_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ct_rune_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_dev_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_errno_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_clr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_def.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_isset.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_set.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_setsize.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_zero.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fsblkcnt_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fsfilcnt_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_gid_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_id_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_in_addr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_in_port_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ino64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ino_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_key_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mode_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_nlink_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_null.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_off_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_pid_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rsize_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rune_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_seek_set.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigaltstack.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigset_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ssize_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_suseconds_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_time_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timespec.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timeval.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_char.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_short.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ucontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uid_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_useconds_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wchar_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wint_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/appleapiopts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/syslimits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/wait.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/___wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wctype.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___gnuc_va_list.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___va_copy.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_header_macro.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_arg.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_copy.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_list.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_header_macro.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_max_align_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_null.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_nullptr_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_offsetof.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_ptrdiff_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_rsize_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_size_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_wchar_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/limits.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/ptrcheck.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdarg.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stddef.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdint.h \ + /Users/will/Documents/zoomengine/include/KHR/khrplatform.h \ + /Users/will/Documents/zoomengine/include/glad.h \ + /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h \ + /Users/will/Documents/zoomengine/src/TextureCache.h + CMakeFiles/ModernEngine.dir/src/Window.cpp.o: /Users/will/Documents/zoomengine/src/Window.cpp \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/Availability.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternal.h \ @@ -15014,7 +17148,9 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Users/will/Documents/zoomengine/src/Json.h \ /Users/will/Documents/zoomengine/src/LevelEditor.cpp \ /Users/will/Documents/zoomengine/src/MainMenu.h \ + /Users/will/Documents/zoomengine/src/Physics.h \ /Users/will/Documents/zoomengine/src/Settings.h \ + /Users/will/Documents/zoomengine/src/TextureCache.h \ /Users/will/Documents/zoomengine/src/ThreadPool.h \ /opt/homebrew/Cellar/glfw/3.4/include/GLFW/glfw3.h \ /opt/homebrew/include/glm/common.hpp \ @@ -15189,7 +17325,40 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /opt/homebrew/include/glm/fwd.hpp \ /opt/homebrew/include/glm/geometric.hpp \ /opt/homebrew/include/glm/glm.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/detail/type_vec3.hpp \ + /opt/homebrew/include/glm/detail/type_vec4.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.inl \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /opt/homebrew/include/glm/detail/type_float.hpp \ + /opt/homebrew/include/glm/detail/type_quat.hpp \ + /opt/homebrew/include/glm/detail/type_quat.inl \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.inl \ /opt/homebrew/include/glm/ext/scalar_constants.hpp \ /opt/homebrew/include/glm/geometric.hpp \ /opt/homebrew/include/glm/detail/setup.hpp \ @@ -15199,23 +17368,46 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /opt/homebrew/include/glm/gtc/constants.inl \ /opt/homebrew/include/glm/matrix.hpp \ /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ /opt/homebrew/include/glm/ext/matrix_clip_space.hpp \ /opt/homebrew/include/glm/ext/matrix_clip_space.inl \ /opt/homebrew/include/glm/ext/matrix_projection.hpp \ /opt/homebrew/include/glm/ext/matrix_projection.inl \ /opt/homebrew/include/glm/ext/matrix_transform.hpp \ /opt/homebrew/include/glm/ext/matrix_transform.inl \ + /opt/homebrew/include/glm/ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/ext/quaternion_common.inl \ + /opt/homebrew/include/glm/ext/quaternion_double.hpp \ + /opt/homebrew/include/glm/ext/quaternion_double_precision.hpp \ + /opt/homebrew/include/glm/ext/quaternion_float.hpp \ + /opt/homebrew/include/glm/ext/quaternion_float_precision.hpp \ + /opt/homebrew/include/glm/ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/ext/quaternion_transform.hpp \ + /opt/homebrew/include/glm/ext/quaternion_transform.inl \ + /opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp \ + /opt/homebrew/include/glm/ext/quaternion_trigonometric.inl \ + /opt/homebrew/include/glm/ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.hpp \ + /opt/homebrew/include/glm/ext/vector_relational.inl \ /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ /opt/homebrew/include/glm/mat4x4.hpp \ /opt/homebrew/include/glm/matrix.hpp \ /opt/homebrew/include/glm/trigonometric.hpp \ /opt/homebrew/include/glm/vec2.hpp \ /opt/homebrew/include/glm/vec3.hpp \ /opt/homebrew/include/glm/vec4.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.inl \ /opt/homebrew/include/glm/gtc/matrix_access.hpp \ /opt/homebrew/include/glm/gtc/matrix_access.inl \ /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ /opt/homebrew/include/glm/gtc/matrix_transform.inl \ + /opt/homebrew/include/glm/gtc/quaternion.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.inl \ /opt/homebrew/include/glm/integer.hpp \ /opt/homebrew/include/glm/mat2x2.hpp \ /opt/homebrew/include/glm/mat2x3.hpp \ @@ -15329,6 +17521,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Users/will/Documents/zoomengine/src/Renderer.cpp: +/Users/will/Documents/zoomengine/src/Physics.cpp: + /Users/will/Documents/zoomengine/src/OBJModelPrimitive.cpp: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/span: @@ -15339,8 +17533,32 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Users/will/Documents/zoomengine/src/LevelEditor.cpp: +/opt/homebrew/include/glm/gtc/quaternion.inl: + +/opt/homebrew/include/glm/gtc/quaternion.hpp: + /opt/homebrew/include/glm/gtc/matrix_access.hpp: +/opt/homebrew/include/glm/ext/quaternion_trigonometric.hpp: + +/opt/homebrew/include/glm/ext/quaternion_transform.inl: + +/opt/homebrew/include/glm/ext/quaternion_float_precision.hpp: + +/opt/homebrew/include/glm/ext/quaternion_double_precision.hpp: + +/opt/homebrew/include/glm/ext/quaternion_double.hpp: + +/opt/homebrew/include/glm/detail/type_quat.hpp: + +/opt/homebrew/include/glm/ext/vector_relational.hpp: + +/opt/homebrew/include/glm/ext/quaternion_relational.inl: + +/opt/homebrew/include/glm/ext/quaternion_geometric.hpp: + +/opt/homebrew/include/glm/ext/quaternion_common.hpp: + /opt/homebrew/Cellar/glfw/3.4/include/GLFW/glfw3.h: /Users/will/Documents/zoomengine/src/OBJLoader.h: @@ -15363,6 +17581,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/acl.h: +/opt/homebrew/include/glm/gtc/epsilon.inl: + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uuid_t.h: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_s_ifmt.h: @@ -15529,6 +17749,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/blsr.h: +/opt/homebrew/include/glm/gtc/epsilon.hpp: + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_log2.h: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/fence.h: @@ -15785,6 +18007,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFAttributedString.h: +/opt/homebrew/include/glm/ext/quaternion_trigonometric.inl: + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudioTypes.framework/Headers/CoreAudioTypes.h: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_push_heap.h: @@ -15935,6 +18159,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /opt/homebrew/include/glm/mat2x2.hpp: +/opt/homebrew/include/glm/ext/quaternion_transform.hpp: + /opt/homebrew/include/glm/detail/func_matrix.inl: /opt/homebrew/include/glm/ext/matrix_float4x4_precision.hpp: @@ -16375,6 +18601,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdexcept: +/opt/homebrew/include/glm/ext/quaternion_relational.hpp: + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int32_t.h: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ratio: @@ -16583,6 +18811,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unbounded_array.h: +/opt/homebrew/include/glm/ext/quaternion_common.inl: + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__stop_token/stop_source.h: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AUAudioUnitImplementation.h: @@ -16837,6 +19067,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/exception.h: +/opt/homebrew/include/glm/detail/type_quat.inl: + /opt/homebrew/include/glm/ext/matrix_clip_space.hpp: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_element.h: @@ -16933,6 +19165,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__numeric/transform_exclusive_scan.h: +/Users/will/Documents/zoomengine/src/TextureCache.cpp: + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_size.h: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ostream/put_character_sequence.h: @@ -17155,6 +19389,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_time_t.h: +/Users/will/Documents/zoomengine/src/TextureCache.h: + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/fstream: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ostream.h: @@ -17247,6 +19483,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destroy.h: +/opt/homebrew/include/glm/ext/quaternion_float.hpp: + /opt/homebrew/include/glm/ext/matrix_double2x2.hpp: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/istream.h: @@ -17269,6 +19507,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_access.h: +/opt/homebrew/include/glm/detail/type_float.hpp: + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/totally_ordered.h: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/fstream.h: @@ -17739,6 +19979,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/istream: +/Users/will/Documents/zoomengine/src/Physics.h: + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assertion_handler: /opt/homebrew/include/glm/ext/vector_double4.hpp: @@ -17793,6 +20035,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_if.h: +/opt/homebrew/include/glm/ext/quaternion_geometric.inl: + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/normal_distribution.h: @@ -18051,6 +20295,8 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: /Users/will/Documents/zoomengine/src /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integer_traits.h: +/opt/homebrew/include/glm/ext/vector_relational.inl: + /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h: /opt/homebrew/include/glm/vec4.hpp: diff --git a/build/CMakeFiles/ModernEngine.dir/link.txt b/build/CMakeFiles/ModernEngine.dir/link.txt index e0c593b..3989a06 100644 --- a/build/CMakeFiles/ModernEngine.dir/link.txt +++ b/build/CMakeFiles/ModernEngine.dir/link.txt @@ -1 +1 @@ -/usr/bin/c++ -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/ModernEngine.dir/src/Camera.cpp.o CMakeFiles/ModernEngine.dir/src/Engine.cpp.o CMakeFiles/ModernEngine.dir/src/Input.cpp.o CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o CMakeFiles/ModernEngine.dir/src/Mesh.cpp.o CMakeFiles/ModernEngine.dir/src/OBJLoader.cpp.o CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o CMakeFiles/ModernEngine.dir/src/Scene.cpp.o CMakeFiles/ModernEngine.dir/src/Shader.cpp.o CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o CMakeFiles/ModernEngine.dir/src/Window.cpp.o CMakeFiles/ModernEngine.dir/src/main.cpp.o CMakeFiles/ModernEngine.dir/src/glad.c.o -o ModernEngine -L/opt/homebrew/Cellar/glfw/3.4/lib -Wl,-rpath,/opt/homebrew/Cellar/glfw/3.4/lib -framework OpenGL -lglfw -framework Cocoa -framework IOKit -framework CoreVideo -framework QuartzCore -framework AudioToolbox -framework CoreAudio +/usr/bin/c++ -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/ModernEngine.dir/src/Camera.cpp.o CMakeFiles/ModernEngine.dir/src/Engine.cpp.o CMakeFiles/ModernEngine.dir/src/Input.cpp.o CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o CMakeFiles/ModernEngine.dir/src/Mesh.cpp.o CMakeFiles/ModernEngine.dir/src/OBJLoader.cpp.o CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o CMakeFiles/ModernEngine.dir/src/Physics.cpp.o CMakeFiles/ModernEngine.dir/src/Renderer.cpp.o CMakeFiles/ModernEngine.dir/src/ResourceManager.cpp.o CMakeFiles/ModernEngine.dir/src/Scene.cpp.o CMakeFiles/ModernEngine.dir/src/Shader.cpp.o CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.o CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o CMakeFiles/ModernEngine.dir/src/Window.cpp.o CMakeFiles/ModernEngine.dir/src/main.cpp.o CMakeFiles/ModernEngine.dir/src/glad.c.o -o ModernEngine -L/opt/homebrew/Cellar/glfw/3.4/lib -Wl,-rpath,/opt/homebrew/Cellar/glfw/3.4/lib -framework OpenGL -lglfw -framework Cocoa -framework IOKit -framework CoreVideo -framework QuartzCore -framework AudioToolbox -framework CoreAudio diff --git a/build/CMakeFiles/ModernEngine.dir/progress.make b/build/CMakeFiles/ModernEngine.dir/progress.make index b497c8a..4f47425 100644 --- a/build/CMakeFiles/ModernEngine.dir/progress.make +++ b/build/CMakeFiles/ModernEngine.dir/progress.make @@ -14,4 +14,6 @@ CMAKE_PROGRESS_13 = 13 CMAKE_PROGRESS_14 = 14 CMAKE_PROGRESS_15 = 15 CMAKE_PROGRESS_16 = 16 +CMAKE_PROGRESS_17 = 17 +CMAKE_PROGRESS_18 = 18 diff --git a/build/CMakeFiles/ModernEngine.dir/src/Engine.cpp.o b/build/CMakeFiles/ModernEngine.dir/src/Engine.cpp.o index 6fea358..f09313b 100644 Binary files a/build/CMakeFiles/ModernEngine.dir/src/Engine.cpp.o and b/build/CMakeFiles/ModernEngine.dir/src/Engine.cpp.o differ diff --git a/build/CMakeFiles/ModernEngine.dir/src/Engine.cpp.o.d b/build/CMakeFiles/ModernEngine.dir/src/Engine.cpp.o.d index 851c607..f6f89c4 100644 --- a/build/CMakeFiles/ModernEngine.dir/src/Engine.cpp.o.d +++ b/build/CMakeFiles/ModernEngine.dir/src/Engine.cpp.o.d @@ -1387,11 +1387,69 @@ CMakeFiles/ModernEngine.dir/src/Engine.cpp.o: \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/netinet6/in6.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/poll.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/poll.h \ - /opt/homebrew/include/glm/gtc/matrix_access.hpp \ + /Users/will/Documents/zoomengine/src/Physics.h \ + /opt/homebrew/include/glm/gtc/quaternion.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/gtc/../ext/vector_relational.inl \ + /opt/homebrew/include/glm/gtc/../ext/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_float.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/quaternion_geometric.inl \ + /opt/homebrew/include/glm/gtc/../ext/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_common.inl \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_float.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_quat.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_relational.inl \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_quat.inl \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_float_precision.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_double.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_double_precision.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_trigonometric.inl \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_transform.inl \ + /opt/homebrew/include/glm/gtc/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.inl \ + /opt/homebrew/include/glm/gtc/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.hpp \ /opt/homebrew/include/glm/gtc/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.inl \ + /opt/homebrew/include/glm/gtc/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../common.hpp \ + /opt/homebrew/include/glm/gtc/matrix_access.hpp \ /opt/homebrew/include/glm/gtc/matrix_access.inl \ /Users/will/Documents/zoomengine/src/Input.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_set \ /Users/will/Documents/zoomengine/src/OBJModelPrimitive.h \ /Users/will/Documents/zoomengine/src/OBJLoader.h \ - /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h + /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h \ + /Users/will/Documents/zoomengine/src/TextureCache.h diff --git a/build/CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o.d b/build/CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o.d index 6fb8851..080792b 100644 --- a/build/CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o.d +++ b/build/CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o.d @@ -1387,6 +1387,63 @@ CMakeFiles/ModernEngine.dir/src/LevelEditor.cpp.o: \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/netinet6/in6.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/poll.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/poll.h \ - /opt/homebrew/include/glm/gtc/matrix_access.hpp \ + /Users/will/Documents/zoomengine/src/Physics.h \ + /opt/homebrew/include/glm/gtc/quaternion.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/gtc/../ext/vector_relational.inl \ + /opt/homebrew/include/glm/gtc/../ext/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_float.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/quaternion_geometric.inl \ + /opt/homebrew/include/glm/gtc/../ext/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_common.inl \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_float.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_quat.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_relational.inl \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_quat.inl \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_float_precision.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_double.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_double_precision.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_trigonometric.inl \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_transform.inl \ + /opt/homebrew/include/glm/gtc/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.inl \ + /opt/homebrew/include/glm/gtc/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.hpp \ /opt/homebrew/include/glm/gtc/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.inl \ + /opt/homebrew/include/glm/gtc/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../common.hpp \ + /opt/homebrew/include/glm/gtc/matrix_access.hpp \ /opt/homebrew/include/glm/gtc/matrix_access.inl diff --git a/build/CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o b/build/CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o index 5ad7ce1..2a64f66 100644 Binary files a/build/CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o and b/build/CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o differ diff --git a/build/CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o.d b/build/CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o.d index 5106157..c8a0c2e 100644 --- a/build/CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o.d +++ b/build/CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o.d @@ -1388,8 +1388,65 @@ CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.o: \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/netinet6/in6.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/poll.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/poll.h \ - /opt/homebrew/include/glm/gtc/matrix_access.hpp \ + /Users/will/Documents/zoomengine/src/Physics.h \ + /opt/homebrew/include/glm/gtc/quaternion.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/gtc/../ext/vector_relational.inl \ + /opt/homebrew/include/glm/gtc/../ext/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_float.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/quaternion_geometric.inl \ + /opt/homebrew/include/glm/gtc/../ext/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_common.inl \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_float.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_quat.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_relational.inl \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_quat.inl \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_float_precision.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_double.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_double_precision.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_trigonometric.inl \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_transform.inl \ + /opt/homebrew/include/glm/gtc/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.inl \ + /opt/homebrew/include/glm/gtc/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.hpp \ /opt/homebrew/include/glm/gtc/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.inl \ + /opt/homebrew/include/glm/gtc/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../common.hpp \ + /opt/homebrew/include/glm/gtc/matrix_access.hpp \ /opt/homebrew/include/glm/gtc/matrix_access.inl \ /Users/will/Documents/zoomengine/src/OBJLoader.h \ /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h diff --git a/build/CMakeFiles/ModernEngine.dir/src/Physics.cpp.o b/build/CMakeFiles/ModernEngine.dir/src/Physics.cpp.o new file mode 100644 index 0000000..4519bd2 Binary files /dev/null and b/build/CMakeFiles/ModernEngine.dir/src/Physics.cpp.o differ diff --git a/build/CMakeFiles/ModernEngine.dir/src/Physics.cpp.o.d b/build/CMakeFiles/ModernEngine.dir/src/Physics.cpp.o.d new file mode 100644 index 0000000..4245643 --- /dev/null +++ b/build/CMakeFiles/ModernEngine.dir/src/Physics.cpp.o.d @@ -0,0 +1,1095 @@ +CMakeFiles/ModernEngine.dir/src/Physics.cpp.o: \ + /Users/will/Documents/zoomengine/src/Physics.cpp \ + /Users/will/Documents/zoomengine/src/Physics.h \ + /opt/homebrew/include/glm/glm.hpp \ + /opt/homebrew/include/glm/detail/_fixes.hpp \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config_site \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/abi.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/compiler.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/platform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/availability.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/language.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/experimental.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/hardening.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hypot.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/abs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/enable_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integral_constant.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cv.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/exponential_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_arithmetic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_floating_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_same.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/promote.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/min_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/roots.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/limits \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_signed.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__undef_macros \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/version \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constant_evaluated.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/special_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/copysign.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/math.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_symbol_aliasing.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_posix_availability.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/ptrcheck.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/Availability.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternalLegacy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/error_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fdim.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fma.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/gamma.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hyperbolic_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_hyperbolic_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_trigonometric_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/logarithms.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/modulo.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/remainder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/rounding_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/trigonometric_functions.h \ + /opt/homebrew/include/glm/detail/setup.hpp \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cassert \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_assert.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_bounds.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_static_assert.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stddef.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stddef.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stddef.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_header_macro.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_ptrdiff_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_size_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_rsize_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_wchar_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_null.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_nullptr_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_max_align_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_offsetof.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/byte.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/byte.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/max_align_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/nullptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/ptrdiff_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/size_t.h \ + /opt/homebrew/include/glm/detail/../simd/platform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdint \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdint.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdint.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_intmax_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uintmax_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/type_traits \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_cv_quals.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_referenceable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/void_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_void.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/aligned_storage.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_list.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/aligned_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/alignment_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conditional.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/decay.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cvref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_identity.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/declval.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/extent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/has_virtual_destructor.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_abstract.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_base_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_class.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_compound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_fundamental.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_null_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_convertible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_all_extents.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_enum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_literal_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_member_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_object.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_pod.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_polymorphic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_scalar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_standard_layout.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivial.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_copyable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unsigned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_volatile.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_signed.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cv.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_unsigned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/rank.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_extent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_volatile.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/result_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/invoke.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_core_convertible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference_wrapper.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/functional.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/nat.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/forward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/underlying_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_final.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conjunction.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/disjunction.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/has_unique_object_representation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_aggregate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_swappable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/negation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cvref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_bounded_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unbounded_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/unwrap_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_implicit_lifetime.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/reference_constructs_from_temporary.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/reference_converts_from_temporary.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/climits \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/syslimits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cfloat \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/float.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/float.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/float.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__float_header_macro.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__float_float.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__float_infinity_nan.h \ + /opt/homebrew/include/glm/fwd.hpp \ + /opt/homebrew/include/glm/detail/qualifier.hpp \ + /opt/homebrew/include/glm/vec2.hpp \ + /opt/homebrew/include/glm/./ext/vector_bool2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/type_vec2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/./ext/../detail/type_vec2.inl \ + /opt/homebrew/include/glm/./ext/../detail/./compute_vector_relational.hpp \ + /opt/homebrew/include/glm/./ext/../detail/./setup.hpp \ + /opt/homebrew/include/glm/./ext/vector_bool2_precision.hpp \ + /opt/homebrew/include/glm/./ext/vector_float2.hpp \ + /opt/homebrew/include/glm/./ext/vector_float2_precision.hpp \ + /opt/homebrew/include/glm/./ext/vector_double2.hpp \ + /opt/homebrew/include/glm/./ext/vector_double2_precision.hpp \ + /opt/homebrew/include/glm/./ext/vector_int2.hpp \ + /opt/homebrew/include/glm/./ext/vector_int2_sized.hpp \ + /opt/homebrew/include/glm/./ext/../ext/vector_int2.hpp \ + /opt/homebrew/include/glm/./ext/../ext/scalar_int_sized.hpp \ + /opt/homebrew/include/glm/./ext/../ext/../detail/setup.hpp \ + /opt/homebrew/include/glm/./ext/vector_uint2.hpp \ + /opt/homebrew/include/glm/./ext/vector_uint2_sized.hpp \ + /opt/homebrew/include/glm/./ext/../ext/vector_uint2.hpp \ + /opt/homebrew/include/glm/./ext/../ext/scalar_uint_sized.hpp \ + /opt/homebrew/include/glm/vec3.hpp \ + /opt/homebrew/include/glm/./ext/vector_bool3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/type_vec3.inl \ + /opt/homebrew/include/glm/./ext/../detail/compute_vector_relational.hpp \ + /opt/homebrew/include/glm/./ext/../detail/compute_vector_decl.hpp \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binary_negate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/bind.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/weak_result_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/unary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/common_comparison_category.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/ordering.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/synth_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/three_way_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/common_reference_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/convertible_to.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/same_as.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/equality_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/boolean_testable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_const_lvalue_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/totally_ordered.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/tuple.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_arg_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uses_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/find_index.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/ignore.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/make_tuple_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_indices.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/integer_sequence.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/sfinae_helpers.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_ext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_implicitly_default_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_replaceable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_relocatable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/lazy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/maybe_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/piecewise_construct.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/compare \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_partial_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/partial_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/weak_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/strong_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_cast.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/priority_tag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_strong_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_weak_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/is_eq.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binder1st.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binder2nd.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/hash.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/addressof.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unqualified.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/different_from.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_no_subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/complex.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstring \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_null.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rsize_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_errno_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ssize_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_strings.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/mem_fn.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/mem_fun_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/desugars_to.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/pointer_to_binary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/pointer_to_unary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/reference_wrapper.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_specialization.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/unary_negate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assert \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assertion_handler \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__log_hardening_failure \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_abort \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_trap \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__exception/exception.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/invoke.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/strip_signature.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/typeinfo \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/boyer_moore_searcher.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp_ref_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/identity.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/arithmetic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/copyable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/movable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/swappable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/class_or_enum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exchange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/incrementable_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_primary_template.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_valid_expansion.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/readable_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/detected_or.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_callable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/initializer_list \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/bit_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/pointer_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/convert_to_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ostream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory_resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocation_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/construct_at.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/placement_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocate_at_least.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/allocate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/align_val_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/exceptions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/wait.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_pid_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_id_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/appleapiopts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_mcontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_mcontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/machine/_structs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigaltstack.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ucontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigset_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uid_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timeval.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/__endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/_OSByteOrder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/arm/_OSByteOrder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/alloca.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ct_rune_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rune_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wchar_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_ptrcheck.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_abort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_dev_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mode_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/nothrow_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/element_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_typed_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_destructor.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/auto_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/compressed_pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/datasizeof.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destroy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uninitialized_algorithms.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_move_common.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/derived_from.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/invocable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/predicate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/regular.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/semiregular.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/relation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/next.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/advance.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/unreachable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/constexpr_c_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_always_bitcastable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_equality_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_pointer_in_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_valid_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_segment.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/segmented_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iterator_operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iter_swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_iterator_concept.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/distance.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_borrowed_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/auto_cast.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/data.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_view.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/prev.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/dangling.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/view_interface.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exception_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/array_cookie.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/dependent_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/private_constructor_tag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/memory_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/array \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/mismatch.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/simd_utils.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countl.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integer_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/aliasing_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwchar \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwctype \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cctype \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/runetype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wint_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctrans_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/___wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctype_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mbstate_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdarg.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_header_macro.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___gnuc_va_list.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_list.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_arg.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___va_copy.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_printf.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_seek_set.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctermid.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_off_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_clock_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_time_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timespec.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/three_way_comp_ref_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/swap_ranges.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/static_bounded_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/wrap_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdexcept \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/data.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_map \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/is_transparent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__hash_table \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/swap_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/launder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/can_extract_key.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/erase_if_container.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/ranges_iterator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/memory_resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__node_handle \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/optional \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/in_place.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/container_compatible_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/from_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/container_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/default_searcher.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/not_fn.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/perfect_forward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/bind_back.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/bind_front.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/ranges_operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/unreachable_sentinel.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/sanitizers.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/enable_insertable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/vector.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/bounded_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_sentinel.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/noexcept_move_assign_container.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/temp_value.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__split_buffer \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/comparison.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/container_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/swap.h \ + /opt/homebrew/include/glm/./ext/../detail/_vectorize.hpp \ + /opt/homebrew/include/glm/./ext/vector_bool3_precision.hpp \ + /opt/homebrew/include/glm/./ext/vector_float3.hpp \ + /opt/homebrew/include/glm/./ext/vector_float3_precision.hpp \ + /opt/homebrew/include/glm/./ext/vector_double3.hpp \ + /opt/homebrew/include/glm/./ext/vector_double3_precision.hpp \ + /opt/homebrew/include/glm/./ext/vector_int3.hpp \ + /opt/homebrew/include/glm/./ext/vector_int3_sized.hpp \ + /opt/homebrew/include/glm/./ext/../ext/vector_int3.hpp \ + /opt/homebrew/include/glm/./ext/vector_uint3.hpp \ + /opt/homebrew/include/glm/./ext/vector_uint3_sized.hpp \ + /opt/homebrew/include/glm/./ext/../ext/vector_uint3.hpp \ + /opt/homebrew/include/glm/vec4.hpp \ + /opt/homebrew/include/glm/./ext/vector_bool4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/type_vec4.inl \ + /opt/homebrew/include/glm/./ext/vector_bool4_precision.hpp \ + /opt/homebrew/include/glm/./ext/vector_float4.hpp \ + /opt/homebrew/include/glm/./ext/vector_float4_precision.hpp \ + /opt/homebrew/include/glm/./ext/vector_double4.hpp \ + /opt/homebrew/include/glm/./ext/vector_double4_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/setup.hpp \ + /opt/homebrew/include/glm/./ext/vector_int4.hpp \ + /opt/homebrew/include/glm/./ext/vector_int4_sized.hpp \ + /opt/homebrew/include/glm/./ext/../ext/vector_int4.hpp \ + /opt/homebrew/include/glm/./ext/vector_uint4.hpp \ + /opt/homebrew/include/glm/./ext/vector_uint4_sized.hpp \ + /opt/homebrew/include/glm/./ext/../ext/vector_uint4.hpp \ + /opt/homebrew/include/glm/mat2x2.hpp \ + /opt/homebrew/include/glm/./ext/matrix_double2x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/type_mat2x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/type_mat2x2.inl \ + /opt/homebrew/include/glm/./ext/../detail/../matrix.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../detail/setup.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../vec2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../vec3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../vec4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../mat2x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../mat2x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double2x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat2x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_vec2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat2x3.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double2x3_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float2x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float2x3_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../mat2x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double2x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat2x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat2x4.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double2x4_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float2x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float2x4_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../mat3x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double3x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat3x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat3x2.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double3x2_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float3x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float3x2_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../mat3x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double3x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat3x3.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../matrix.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../common.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/_fixes.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/func_common.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../vector_relational.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../detail/setup.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../detail/func_vector_relational.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/compute_common.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/setup.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/type_vec1.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/type_vec1.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/./compute_vector_relational.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/type_vec2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/_vectorize.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double3x3_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float3x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float3x3_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../mat3x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double3x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat3x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat3x4.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double3x4_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float3x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float3x4_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../mat4x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double4x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat4x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat4x2.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double4x2_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float4x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float4x2_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat2x2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../mat4x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double4x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat4x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat4x3.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double4x3_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float4x3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float4x3_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../mat4x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double4x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/type_mat4x4.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../geometric.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/func_geometric.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../exponential.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../detail/type_vec1.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../detail/type_vec2.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../detail/func_exponential.inl \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../detail/../vector_relational.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../detail/_vectorize.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/../detail/../detail/../common.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_double4x4_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float4x4.hpp \ + /opt/homebrew/include/glm/./ext/../detail/.././ext/matrix_float4x4_precision.hpp \ + /opt/homebrew/include/glm/./ext/../detail/../detail/func_matrix.inl \ + /opt/homebrew/include/glm/./ext/../detail/../detail/../geometric.hpp \ + /opt/homebrew/include/glm/./ext/matrix_double2x2_precision.hpp \ + /opt/homebrew/include/glm/./ext/matrix_float2x2.hpp \ + /opt/homebrew/include/glm/./ext/matrix_float2x2_precision.hpp \ + /opt/homebrew/include/glm/mat2x3.hpp \ + /opt/homebrew/include/glm/mat2x4.hpp \ + /opt/homebrew/include/glm/mat3x2.hpp \ + /opt/homebrew/include/glm/mat3x3.hpp \ + /opt/homebrew/include/glm/mat3x4.hpp \ + /opt/homebrew/include/glm/mat4x2.hpp \ + /opt/homebrew/include/glm/mat4x3.hpp \ + /opt/homebrew/include/glm/mat4x4.hpp \ + /opt/homebrew/include/glm/trigonometric.hpp \ + /opt/homebrew/include/glm/detail/func_trigonometric.inl \ + /opt/homebrew/include/glm/detail/_vectorize.hpp \ + /opt/homebrew/include/glm/exponential.hpp \ + /opt/homebrew/include/glm/common.hpp \ + /opt/homebrew/include/glm/packing.hpp \ + /opt/homebrew/include/glm/detail/func_packing.inl \ + /opt/homebrew/include/glm/detail/../common.hpp \ + /opt/homebrew/include/glm/detail/type_half.hpp \ + /opt/homebrew/include/glm/detail/type_half.inl \ + /opt/homebrew/include/glm/geometric.hpp \ + /opt/homebrew/include/glm/matrix.hpp \ + /opt/homebrew/include/glm/vector_relational.hpp \ + /opt/homebrew/include/glm/integer.hpp \ + /opt/homebrew/include/glm/detail/func_integer.inl \ + /opt/homebrew/include/glm/gtc/quaternion.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/scalar_constants.inl \ + /opt/homebrew/include/glm/gtc/../gtc/constants.inl \ + /opt/homebrew/include/glm/gtc/../gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../vec2.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../vec3.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../vec4.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/matrix_projection.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/../geometric.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/../trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/../matrix.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/matrix_projection.inl \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/matrix_clip_space.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/../ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/matrix_clip_space.inl \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../ext/matrix_transform.inl \ + /opt/homebrew/include/glm/gtc/../gtc/matrix_transform.inl \ + /opt/homebrew/include/glm/gtc/../gtc/../geometric.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/../matrix.hpp \ + /opt/homebrew/include/glm/gtc/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/gtc/../ext/vector_relational.inl \ + /opt/homebrew/include/glm/gtc/../ext/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_float.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/quaternion_geometric.inl \ + /opt/homebrew/include/glm/gtc/../ext/../trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_common.inl \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_float.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_quat.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_relational.inl \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_quat.inl \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_float_precision.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_double.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_double_precision.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_trigonometric.inl \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_transform.inl \ + /opt/homebrew/include/glm/gtc/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.inl \ + /opt/homebrew/include/glm/gtc/../trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../geometric.hpp \ + /opt/homebrew/include/glm/gtc/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.hpp \ + /opt/homebrew/include/glm/gtc/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.inl \ + /opt/homebrew/include/glm/gtc/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../common.hpp \ + /opt/homebrew/include/glm/gtc/matrix_transform.hpp \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit_reference \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/pmr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/erase.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_segment_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/invert_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool_formatter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/format.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_bool.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_parse_context.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_error.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string_view \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string_view.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_end.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_first_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__std_mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdio \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/iosfwd \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/fstream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ios.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/istream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/sstream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/streambuf.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/tables.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_base_10.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/errc.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cerrno \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_32_64_or_128_bit.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_output.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_transform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/projected.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/buffer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/transform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_to_n_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/back_insert_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/parser_std_format_spec.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_arg.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__variant/monostate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/unicode.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/extended_grapheme_cluster_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_upper_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lower_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/half_positive.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/indic_conjunct_break_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/width_estimation_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ios/fpos.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/extern_template_lists.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/scope_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/locale_base_api.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/apple.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/bsd_like.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/clocale \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/locale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale_posix2008.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_locale_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_mb_cur_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/___wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mutex/once_flag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/no_destroy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/adjacent_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/all_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/any_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/binary_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/popcount.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/upper_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if_not.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/includes.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/inplace_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destruct_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_temporary_buffer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_partitioned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sift_down.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/next_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/none_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/nth_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pop_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/push_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/strict_weak_ordering_check.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/randomize_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_log2.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/blsr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_projected.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/prev_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_intersection.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_symmetric_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shuffle.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_int_distribution.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/is_valid.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/log2.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/radix_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__numeric/partial_sum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/clamp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n_segment.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pstl.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sample.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_found_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_fun_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_max_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/out_value_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_adjacent_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_all_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_any_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_binary_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_clamp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/indirectly_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_end.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_first_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if_not.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_includes.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_inplace_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/sortable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/permutable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_partitioned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lexicographical_compare.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lower_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_make_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/mergeable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_mismatch.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_next_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_none_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_nth_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_pop_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_prev_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_push_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sample.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/uniform_random_bit_generator_adaptor.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_random_bit_generator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_intersection.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_symmetric_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_shuffle.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_swap_ranges.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_left.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_right.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains_subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_ends_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_starts_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_last.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fold.h \ + /opt/homebrew/include/glm/gtc/constants.hpp diff --git a/build/CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o b/build/CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o new file mode 100644 index 0000000..c3fc3e3 Binary files /dev/null and b/build/CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o differ diff --git a/build/CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o.d b/build/CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o.d new file mode 100644 index 0000000..8e93122 --- /dev/null +++ b/build/CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o.d @@ -0,0 +1,867 @@ +CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o: \ + /Users/will/Documents/zoomengine/src/TextureCache.cpp \ + /Users/will/Documents/zoomengine/src/TextureCache.h \ + /Users/will/Documents/zoomengine/include/glad.h \ + /Users/will/Documents/zoomengine/include/KHR/khrplatform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdint.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config_site \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/abi.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/compiler.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/platform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/availability.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/language.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/experimental.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__configuration/hardening.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdint.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_symbol_aliasing.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_posix_availability.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/ptrcheck.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_intmax_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uintmax_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/desugars_to.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integral_constant.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cv.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/comp_ref_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assert \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__assertion_handler \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__log_hardening_failure \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_abort \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__verbose_trap \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/declval.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/arithmetic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_floating_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_signed.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_arithmetic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/convertible_to.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_convertible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/size_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_all_extents.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/copyable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/common_reference_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/same_as.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_same.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/add_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_referenceable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/void_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_void.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/common_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conditional.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/decay.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_cvref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_identity.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cv.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/copy_cvref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_const_lvalue_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/forward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/movable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/swappable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/class_or_enum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_class.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_enum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/extent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exchange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__undef_macros \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_object.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/equality_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/boolean_testable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/totally_ordered.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/ptrdiff_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/tuple.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/incrementable_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_primary_template.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/enable_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_valid_expansion.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_signed.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/type_list.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/readable_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_extent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_indices.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/integer_sequence.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/detected_or.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/disjunction.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/nat.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_callable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/initializer_list \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/version \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/identity.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/functional.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/invoke.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_base_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_core_convertible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_member_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_reference_wrapper.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_segment_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/segmented_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/pointer_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/addressof.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/conjunction.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/integer_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/limits \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/invert_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/bit_reference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/constexpr_c_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/construct_at.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/placement_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/datasizeof.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_always_bitcastable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_copyable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdint \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_constant_evaluated.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_equality_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/byte.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unsigned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/element_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_pointer_in_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/is_valid_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwchar \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cwctype \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cctype \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_bounds.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/runetype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ct_rune_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rune_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wchar_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wint_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctrans_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/___wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_wctype_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/Availability.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternalLegacy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_null.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int8_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int16_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int32_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int64_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stdarg.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_header_macro.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___gnuc_va_list.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_list.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_arg.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg___va_copy.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stdarg_va_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_printf.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_seek_set.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctermid.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_off_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ssize_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_clock_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_time_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timespec.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stddef.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/stddef.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stddef.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_header_macro.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_ptrdiff_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_size_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_rsize_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_wchar_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_null.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_nullptr_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_max_align_t.h \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/__stddef_offsetof.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/sanitizers.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/enable_insertable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/hash.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/nullptr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/unary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unqualified.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/underlying_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/common_comparison_category.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/ordering.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/synth_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/three_way_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/different_from.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_no_subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/complex.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_volatile.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_implicitly_default_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_replaceable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_swappable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_relocatable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/unwrap_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/piecewise_construct.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstring \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rsize_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_errno_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_strings.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/memory_resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ios/fpos.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ios.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/bounded_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/distance.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/derived_from.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/invocable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/invoke.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/predicate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/regular.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/semiregular.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/relation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_borrowed_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/auto_cast.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/data.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/enable_view.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_unsigned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/advance.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/convert_to_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/unreachable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iter_swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/next.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/prev.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/dangling.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/view_interface.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/wrap_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocate_at_least.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/allocate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/max_align_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/align_val_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/exceptions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__exception/exception.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/wait.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_pid_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_id_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/appleapiopts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/signal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_mcontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_mcontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/machine/_structs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigaltstack.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ucontext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigset_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uid_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timeval.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/__endian.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/_OSByteOrder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/arm/_OSByteOrder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/alloca.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_ptrcheck.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_abort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_dev_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mode_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/abs.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/nothrow_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/global_typed_new_delete.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/compressed_pair.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_final.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/noexcept_move_assign_container.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/swap_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__cstddef/byte.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/memory_resource.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/exception_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_arg_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uses_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/find_index.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/ignore.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/make_tuple_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/sfinae_helpers.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__tuple/tuple_like_ext.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/lazy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/maybe_const.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/negation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/reference_constructs_from_temporary.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/compare \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_partial_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/partial_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/weak_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/strong_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_cast.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/exponential_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/promote.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/priority_tag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_strong_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_weak_order_fallback.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/is_eq.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/container_compatible_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/from_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_end.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iterator_operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/iter_swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_iterator_concept.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_first_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__std_mbstate_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdio \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/iosfwd \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/fstream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/istream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/ostream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/sstream.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/streambuf.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/extern_template_lists.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_allocator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_standard_layout.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_constructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/scope_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/climits \ + /Library/Developer/CommandLineTools/usr/lib/clang/21/include/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_limits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/syslimits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/stdexcept \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string_view \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string_view.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/data.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/empty.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_access.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/size.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_map \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/is_transparent.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/binary_function.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__hash_table \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countl.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/rounding_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/array_cookie.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_destructible.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/auto_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/dependent_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_bounded_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_unbounded_array.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/private_constructor_tag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__new/launder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/can_extract_key.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_const_ref.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/erase_if_container.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/ranges_iterator_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__node_handle \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_specialization.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/optional \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_scalar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_null_pointer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_trivially_assignable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/in_place.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/container_traits.h \ + /Users/will/Documents/zoomengine/src/SimpleTextureLoader.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hypot.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/min_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/roots.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/special_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/copysign.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/math.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/error_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fdim.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/fma.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/gamma.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/hyperbolic_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_hyperbolic_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/inverse_trigonometric_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/logarithms.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/modulo.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/remainder.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__math/trigonometric_functions.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/filesystem \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/copy_options.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/directory_entry.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/time_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/duration.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ratio \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/file_status.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/file_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/perms.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/file_time_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/file_clock.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/system_clock.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ctime \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/filesystem_error.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/path.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/back_insert_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/iomanip \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/istreambuf_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/default_sentinel.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/money.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_move_common.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_segment.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/locale_base_api.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/apple.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/support/bsd_like.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/clocale \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/locale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_locale_posix2008.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_locale_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/__xlocale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_mb_cur_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_ctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/___wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdio.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_stdlib.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wchar.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xlocale/_wctype.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/typeinfo \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__mutex/once_flag.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/no_destroy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/check_grouping.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/ios \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/error_category.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/error_code.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/errc.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cerrno \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/errno.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/error_condition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__system_error/system_error.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/atomic.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/atomic_sync.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/contention_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/support.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/support/c11.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/memory_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/to_gcc_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__thread/poll_with_backoff.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/high_resolution_clock.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/steady_clock.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/check_memory_order.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__atomic/is_always_lock_free.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/remove_volatile.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/get_c_locale.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/pad_and_output.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/time.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/scan_keyword.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ostream/put_character_sequence.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/ostreambuf_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/messages.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/nl_types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/types.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_char.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_short.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_caddr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_blkcnt_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_blksize_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_gid_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_in_addr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_in_port_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ino_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ino64_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_key_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_nlink_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_useconds_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_suseconds_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_def.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_setsize.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_set.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_clr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_zero.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_isset.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fsblkcnt_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fsfilcnt_t.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_nl_item.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/num.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/tables.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_base_10.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/to_chars_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__charconv/traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/make_32_64_or_128_bit.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/streambuf \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wbuffer_convert.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_ptr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/reference_wrapper.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/weak_result_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocation_guard.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_destructor.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destroy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/uninitialized_algorithms.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/perm_options.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/space_info.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/directory_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/directory_options.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/path_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/recursive_directory_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__filesystem/u8path.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/comparison.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/mismatch.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/simd_utils.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/aliasing_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/three_way_comp_ref_type.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/vector.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/swap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/move_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/unreachable_sentinel.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/swap_ranges.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_iterator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/move_sentinel.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/temp_value.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/aligned_storage.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__split_buffer \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/container_traits.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit_reference \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/pmr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/erase.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector_bool_formatter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/format.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_bool.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/concepts.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_parse_context.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_error.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_integral.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_output.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_transform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/projected.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/buffer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/transform.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_to_n_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/parser_std_format_spec.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_arg.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__variant/monostate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_string.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/unicode.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/extended_grapheme_cluster_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_upper_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/lower_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/half_positive.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/ranges_operations.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/indic_conjunct_break_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/width_estimation_table.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/array \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/static_bounded_iter.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/adjacent_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/all_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/any_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/binary_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/popcount.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/count_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/equal_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/upper_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/fill.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find_if_not.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/generate_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/includes.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/inplace_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/destruct_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_temporary_buffer.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_heap_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_partitioned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/is_sorted_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sift_down.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/minmax_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/next_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/none_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/nth_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sort_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pop_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/push_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/strict_weak_ordering_check.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__debug_utils/randomize_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/bit_log2.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/blsr.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partial_sort_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/make_projected.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/partition_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/prev_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/replace_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/reverse_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/rotate_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_intersection.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_symmetric_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/set_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shuffle.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_int_distribution.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/is_valid.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/log2.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/stable_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/radix_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__numeric/partial_sum.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unique_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/clamp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each_n_segment.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/pstl.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/sample.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_found_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_fun_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_in_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/in_out_out_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/min_max_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/out_value_result.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_adjacent_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_all_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_any_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_binary_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_clamp.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/indirectly_comparable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_count_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_equal_range.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fill.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_end.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_first_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_if_not.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_for_each_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_generate_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_includes.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_inplace_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/sortable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/permutable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_heap_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_partitioned.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_is_sorted_until.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lexicographical_compare.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_lower_bound.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_make_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_max_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_merge.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/mergeable.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_min_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_minmax_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_mismatch.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_move_backward.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_next_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_none_of.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_nth_element.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partial_sort_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_partition_point.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_pop_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_prev_permutation.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_push_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_remove_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_replace_copy_if.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_reverse_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_rotate_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sample.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/uniform_random_bit_generator_adaptor.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/uniform_random_bit_generator.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_search_n.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_intersection.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_symmetric_difference.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_set_union.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_shuffle.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_sort_heap.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_partition.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_stable_sort.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_swap_ranges.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_unique_copy.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_left.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/shift_right.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_contains_subrange.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_ends_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_starts_with.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_find_last.h \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/ranges_fold.h diff --git a/build/CMakeFiles/ModernEngine.dir/src/main.cpp.o b/build/CMakeFiles/ModernEngine.dir/src/main.cpp.o index 31ec53c..fa93ac9 100644 Binary files a/build/CMakeFiles/ModernEngine.dir/src/main.cpp.o and b/build/CMakeFiles/ModernEngine.dir/src/main.cpp.o differ diff --git a/build/CMakeFiles/ModernEngine.dir/src/main.cpp.o.d b/build/CMakeFiles/ModernEngine.dir/src/main.cpp.o.d index 710bc8e..aeeee1b 100644 --- a/build/CMakeFiles/ModernEngine.dir/src/main.cpp.o.d +++ b/build/CMakeFiles/ModernEngine.dir/src/main.cpp.o.d @@ -1387,12 +1387,70 @@ CMakeFiles/ModernEngine.dir/src/main.cpp.o: \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/netinet6/in6.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/poll.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/poll.h \ - /opt/homebrew/include/glm/gtc/matrix_access.hpp \ + /Users/will/Documents/zoomengine/src/Physics.h \ + /opt/homebrew/include/glm/gtc/quaternion.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/gtc/../ext/vector_relational.inl \ + /opt/homebrew/include/glm/gtc/../ext/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_float.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../ext/quaternion_geometric.inl \ + /opt/homebrew/include/glm/gtc/../ext/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_common.inl \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_float.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_quat.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_relational.inl \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../gtc/constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../gtc/matrix_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/type_quat.inl \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_common.hpp \ + /opt/homebrew/include/glm/gtc/../ext/../detail/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_float_precision.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_double.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_double_precision.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_relational.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_geometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_trigonometric.hpp \ + /opt/homebrew/include/glm/gtc/../ext/scalar_constants.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_trigonometric.inl \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_transform.hpp \ + /opt/homebrew/include/glm/gtc/../ext/quaternion_transform.inl \ + /opt/homebrew/include/glm/gtc/../detail/type_mat3x3.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_mat4x4.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_vec3.hpp \ + /opt/homebrew/include/glm/gtc/../detail/type_vec4.hpp \ + /opt/homebrew/include/glm/gtc/quaternion.inl \ + /opt/homebrew/include/glm/gtc/../exponential.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.hpp \ /opt/homebrew/include/glm/gtc/../detail/setup.hpp \ + /opt/homebrew/include/glm/gtc/../detail/qualifier.hpp \ + /opt/homebrew/include/glm/gtc/epsilon.inl \ + /opt/homebrew/include/glm/gtc/../vector_relational.hpp \ + /opt/homebrew/include/glm/gtc/../common.hpp \ + /opt/homebrew/include/glm/gtc/matrix_access.hpp \ /opt/homebrew/include/glm/gtc/matrix_access.inl \ /Users/will/Documents/zoomengine/src/Input.h \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_set \ /Users/will/Documents/zoomengine/src/MainMenu.h \ + /Users/will/Documents/zoomengine/src/TextureCache.h \ /Users/will/Documents/zoomengine/src/LevelEditor.cpp \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/random \ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__random/bernoulli_distribution.h \ diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks index b6a7d89..3c03207 100644 --- a/build/CMakeFiles/progress.marks +++ b/build/CMakeFiles/progress.marks @@ -1 +1 @@ -16 +18 diff --git a/build/Makefile b/build/Makefile index 3718006..f417191 100644 --- a/build/Makefile +++ b/build/Makefile @@ -297,6 +297,30 @@ src/OBJModelPrimitive.cpp.s: $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/src/OBJModelPrimitive.cpp.s .PHONY : src/OBJModelPrimitive.cpp.s +src/Physics.o: src/Physics.cpp.o +.PHONY : src/Physics.o + +# target to build an object file +src/Physics.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/src/Physics.cpp.o +.PHONY : src/Physics.cpp.o + +src/Physics.i: src/Physics.cpp.i +.PHONY : src/Physics.i + +# target to preprocess a source file +src/Physics.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/src/Physics.cpp.i +.PHONY : src/Physics.cpp.i + +src/Physics.s: src/Physics.cpp.s +.PHONY : src/Physics.s + +# target to generate assembly for a file +src/Physics.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/src/Physics.cpp.s +.PHONY : src/Physics.cpp.s + src/Renderer.o: src/Renderer.cpp.o .PHONY : src/Renderer.o @@ -417,6 +441,30 @@ src/SimpleTextureLoader.cpp.s: $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/src/SimpleTextureLoader.cpp.s .PHONY : src/SimpleTextureLoader.cpp.s +src/TextureCache.o: src/TextureCache.cpp.o +.PHONY : src/TextureCache.o + +# target to build an object file +src/TextureCache.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.o +.PHONY : src/TextureCache.cpp.o + +src/TextureCache.i: src/TextureCache.cpp.i +.PHONY : src/TextureCache.i + +# target to preprocess a source file +src/TextureCache.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.i +.PHONY : src/TextureCache.cpp.i + +src/TextureCache.s: src/TextureCache.cpp.s +.PHONY : src/TextureCache.s + +# target to generate assembly for a file +src/TextureCache.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/ModernEngine.dir/build.make CMakeFiles/ModernEngine.dir/src/TextureCache.cpp.s +.PHONY : src/TextureCache.cpp.s + src/Window.o: src/Window.cpp.o .PHONY : src/Window.o @@ -519,6 +567,9 @@ help: @echo "... src/OBJModelPrimitive.o" @echo "... src/OBJModelPrimitive.i" @echo "... src/OBJModelPrimitive.s" + @echo "... src/Physics.o" + @echo "... src/Physics.i" + @echo "... src/Physics.s" @echo "... src/Renderer.o" @echo "... src/Renderer.i" @echo "... src/Renderer.s" @@ -534,6 +585,9 @@ help: @echo "... src/SimpleTextureLoader.o" @echo "... src/SimpleTextureLoader.i" @echo "... src/SimpleTextureLoader.s" + @echo "... src/TextureCache.o" + @echo "... src/TextureCache.i" + @echo "... src/TextureCache.s" @echo "... src/Window.o" @echo "... src/Window.i" @echo "... src/Window.s" diff --git a/build/ModernEngine b/build/ModernEngine index 2a191b7..3702631 100755 Binary files a/build/ModernEngine and b/build/ModernEngine differ diff --git a/build/assets/menu.json b/build/assets/menu.json index b56107d..345a054 100644 --- a/build/assets/menu.json +++ b/build/assets/menu.json @@ -10,6 +10,9 @@ { "label": "Stress Test", "action": "stress" }, { "label": "Spinning Monkey", "action": "monkey" }, { "label": "Monkey Grid", "action": "monkeygrid" }, + { "label": "God Sandbox", "action": "god" }, + { "label": "Grass / Pools", "action": "grass" }, + { "label": "Sunset Forest", "action": "sunset" }, { "label": "Level Editor", "action": "edit" }, { "label": "Quit", "action": "quit" } ] diff --git a/build/assets/shaders/basic.frag b/build/assets/shaders/basic.frag index 733e013..44f8415 100644 --- a/build/assets/shaders/basic.frag +++ b/build/assets/shaders/basic.frag @@ -5,32 +5,24 @@ in vec3 Color; out vec4 FragColor; -uniform vec3 uLightPos; +uniform vec3 uSunDir; +uniform vec3 uSunColor; +uniform vec3 uSkyColor; +uniform vec3 uGroundColor; uniform vec3 uViewPos; -uniform vec3 uLightColor; -uniform float uAmbientStrength; uniform float uSpecularStrength; uniform float uShininess; void main() { - // Normalize the normal vector - vec3 norm = normalize(Normal); - - // Ambient lighting - vec3 ambient = uAmbientStrength * uLightColor; - - // Diffuse lighting - vec3 lightDir = normalize(uLightPos - FragPos); - float diff = max(dot(norm, lightDir), 0.0); - vec3 diffuse = diff * uLightColor; - - // Specular lighting - vec3 viewDir = normalize(uViewPos - FragPos); - vec3 reflectDir = reflect(-lightDir, norm); - float spec = pow(max(dot(viewDir, reflectDir), 0.0), uShininess); - vec3 specular = uSpecularStrength * spec * uLightColor; - - // Combine results - vec3 result = (ambient + diffuse + specular) * Color; + vec3 N = normalize(Normal); + float up = 0.5 + 0.5 * N.y; + vec3 ambient = mix(uGroundColor, uSkyColor, up); + float NdotL = max(dot(N, uSunDir), 0.0); + vec3 diffuse = NdotL * uSunColor; + vec3 V = normalize(uViewPos - FragPos); + vec3 H = normalize(uSunDir + V); + float spec = pow(max(dot(N, H), 0.0), uShininess) * (NdotL > 0.0 ? 1.0 : 0.0); + vec3 specular = uSpecularStrength * spec * uSunColor; + vec3 result = (ambient + diffuse) * Color + specular; FragColor = vec4(result, 1.0); } diff --git a/build/worlds/desert.json b/build/worlds/desert.json new file mode 100644 index 0000000..dfa98aa --- /dev/null +++ b/build/worlds/desert.json @@ -0,0 +1,27 @@ +{ + "version":1, + "clear_color":[0.98,0.75,0.5], + "camera":{"position":[18,7,18],"target":[0,2,0]}, + "objects":[ + {"action":"create","type":"cylinder","id":"cactus5_body","position":[15,1.6,-8],"height":3.2,"scale":[1,1,1],"color":[0.26,0.5,0.24],"rotation":[0,0,0],"radius":0.42}, + {"action":"create","type":"cylinder","id":"cactus3_armR","position":[10.7,2,2],"height":1.2,"scale":[1,1,1],"color":[0.28,0.52,0.26],"rotation":[0,0,0],"radius":0.2}, + {"action":"create","type":"cylinder","id":"cactus3_body","position":[10,1.5,2],"height":3,"scale":[1,1,1],"color":[0.28,0.52,0.26],"rotation":[0,0,0],"radius":0.4}, + {"action":"create","type":"cylinder","id":"cactus4_armL","position":[-12.9,2.8,4],"height":1.6,"scale":[1,1,1],"color":[0.24,0.5,0.24],"rotation":[0,0,0],"radius":0.25}, + {"action":"create","type":"cylinder","id":"cactus2_armL","position":[-6.8,2.3,-7],"height":1.4,"scale":[1,1,1],"color":[0.22,0.48,0.22],"rotation":[0,0,0],"radius":0.22}, + {"action":"create","type":"cylinder","id":"cactus2_body","position":[-6,1.8,-7],"height":3.6,"scale":[1,1,1],"color":[0.22,0.48,0.22],"rotation":[0,0,0],"radius":0.45}, + {"action":"create","type":"cylinder","id":"cactus1_body","position":[2,2,-5],"height":4,"scale":[1,1,1],"color":[0.25,0.5,0.25],"rotation":[0,0,0],"radius":0.5}, + {"action":"create","type":"cylinder","id":"cactus4_armR","position":[-11.1,3.1,4],"height":1.3,"scale":[1,1,1],"color":[0.24,0.5,0.24],"rotation":[0,0,0],"radius":0.22}, + {"action":"create","type":"sphere","id":"rock5","position":[12,0.4,8],"scale":[1,0.7,1.1],"color":[0.48,0.36,0.28],"rotation":[0,0,0]}, + {"action":"create","type":"cylinder","id":"cactus6_body","position":[-3,1.3,11],"height":2.6,"scale":[1,1,1],"color":[0.25,0.48,0.25],"rotation":[0,0,0],"radius":0.35}, + {"action":"create","type":"cylinder","id":"cactus1_armL","position":[1.3,2.5,-5],"height":1.5,"scale":[1,1,1],"color":[0.25,0.5,0.25],"rotation":[0,0,0],"radius":0.25}, + {"action":"create","type":"cylinder","id":"cactus4_body","position":[-12,2.2,4],"height":4.4,"scale":[1,1,1],"color":[0.24,0.5,0.24],"rotation":[0,0,0],"radius":0.55}, + {"action":"create","type":"sphere","id":"rock2","position":[-4,0.3,6],"scale":[0.9,0.6,0.9],"color":[0.45,0.35,0.28],"rotation":[0,0,0]}, + {"action":"create","type":"sphere","id":"rock1","position":[5,0.4,3],"scale":[1.2,0.8,1],"color":[0.5,0.38,0.3],"rotation":[0,0,0]}, + {"action":"create","type":"sphere","id":"rock3","position":[8,0.5,-4],"scale":[1.5,1,1.3],"color":[0.55,0.42,0.32],"rotation":[0,0,0]}, + {"action":"create","type":"sphere","id":"sun","position":[-20,12,-35],"scale":[5,5,5],"color":[1,0.85,0.55],"rotation":[0,0,0]}, + {"action":"create","type":"cylinder","id":"cactus1_armR","position":[2.7,2.8,-5],"height":1.3,"scale":[1,1,1],"color":[0.25,0.5,0.25],"rotation":[0,0,0],"radius":0.25}, + {"action":"create","type":"sphere","id":"rock6","position":[-14,0.4,10],"scale":[1.3,0.9,1.2],"color":[0.52,0.4,0.3],"rotation":[0,0,0]}, + {"action":"create","type":"sphere","id":"rock4","position":[-9,0.3,-2],"scale":[0.8,0.5,0.8],"color":[0.5,0.4,0.3],"rotation":[0,0,0]}, + {"action":"create","type":"terrain","id":"sand","max_height":2.5,"position":[0,0,0],"scale":[1,1,1],"resolution":60,"size":80,"color":[0.93,0.78,0.5],"rotation":[0,0,0]} + ] +} diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..bed69d2 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +anthropic>=0.45.0 diff --git a/src/AgentAPI.h b/src/AgentAPI.h index 3d06f87..c8fe3dd 100644 --- a/src/AgentAPI.h +++ b/src/AgentAPI.h @@ -69,6 +69,15 @@ // Spawn text in world (billboard): // {"action":"log","message":"Hello from AI"} // +// Save current world to worlds/.json: +// {"action":"save_world","name":"desert"} +// +// Load world from worlds/.json (wipes current): +// {"action":"load_world","name":"desert"} +// +// List available worlds: +// {"action":"list_worlds"} +// struct AgentCommand { json::Value data; diff --git a/src/Engine.cpp b/src/Engine.cpp index 25f8152..fbf0ae7 100644 --- a/src/Engine.cpp +++ b/src/Engine.cpp @@ -6,7 +6,10 @@ #include #include #include +#include +#include #include "OBJModelPrimitive.h" +#include "TextureCache.h" // Utility functions namespace { GLuint CompileShader(GLenum type, const char* source) { @@ -62,20 +65,27 @@ void Engine::InitializeShader() { layout(location = 0) in vec3 aPos; layout(location = 1) in vec3 aColor; layout(location = 2) in vec3 aNormal; + layout(location = 3) in vec2 aUV; layout(location = 6) in mat4 aInstanceModel; uniform mat4 uView; uniform mat4 uProjection; + uniform mat4 uLightVP; + uniform vec2 uUVScale; out vec3 FragPos; out vec3 Normal; out vec3 Color; + out vec2 vUV; + out vec4 LightSpacePos; void main() { vec4 worldPos = aInstanceModel * vec4(aPos, 1.0); FragPos = worldPos.xyz; Normal = mat3(transpose(inverse(aInstanceModel))) * aNormal; Color = aColor; + vUV = aUV * uUVScale; + LightSpacePos = uLightVP * worldPos; gl_Position = uProjection * uView * worldPos; } )"; @@ -86,34 +96,154 @@ void Engine::InitializeShader() { in vec3 FragPos; in vec3 Normal; in vec3 Color; - + in vec2 vUV; + in vec4 LightSpacePos; + out vec4 FragColor; - - uniform vec3 uLightPos; + + uniform sampler2D uDiffuse; + uniform sampler2D uNormalMap; + uniform vec3 uSunDir; + uniform vec3 uSunColor; + uniform vec3 uSkyColor; + uniform vec3 uGroundColor; uniform vec3 uViewPos; - uniform vec3 uLightColor; - uniform float uAmbientStrength; - uniform float uSpecularStrength; - uniform float uShininess; - + uniform float uStorminess; + uniform int uWaterEnabled; + uniform float uWaterLevel; + uniform vec3 uWaterDeep; + uniform sampler2DShadow uShadowMap; + uniform int uShadowsEnabled; + uniform vec3 uHorizonColor; + uniform float uFogDensity; + + uniform float uMetallic; + uniform float uRoughness; + uniform vec3 uEmissive; + + const float PI = 3.14159265359; + + float SampleShadow(vec3 proj, float bias) { + if (proj.x < 0.0 || proj.x > 1.0 || + proj.y < 0.0 || proj.y > 1.0 || + proj.z > 1.0) return 1.0; + proj.z -= bias; + float result = 0.0; + vec2 texel = 1.0 / vec2(textureSize(uShadowMap, 0)); + for (int y = -1; y <= 1; ++y) + for (int x = -1; x <= 1; ++x) + result += texture(uShadowMap, vec3(proj.xy + vec2(x, y) * texel, proj.z)); + return result / 9.0; + } + + // Build TBN from screen-space derivatives (no per-vertex tangents needed). + mat3 CalcTBN(vec3 N) { + vec3 dp1 = dFdx(FragPos); + vec3 dp2 = dFdy(FragPos); + vec2 duv1 = dFdx(vUV); + vec2 duv2 = dFdy(vUV); + vec3 dp2perp = cross(dp2, N); + vec3 dp1perp = cross(N, dp1); + vec3 T = dp2perp * duv1.x + dp1perp * duv2.x; + vec3 B = dp2perp * duv1.y + dp1perp * duv2.y; + float inv = inversesqrt(max(dot(T, T), dot(B, B))); + return mat3(T * inv, B * inv, N); + } + + // GGX normal distribution + float NDF_GGX(float NdotH, float r) { + float a = r * r; + float a2 = a * a; + float d = NdotH * NdotH * (a2 - 1.0) + 1.0; + return a2 / (PI * d * d); + } + // Schlick-GGX geometry + Smith's method for combined shadow/masking + float G_SchlickGGX(float NdotX, float r) { + float k = (r + 1.0); + k = (k * k) / 8.0; + return NdotX / (NdotX * (1.0 - k) + k); + } + float G_Smith(float NdotV, float NdotL, float r) { + return G_SchlickGGX(NdotV, r) * G_SchlickGGX(NdotL, r); + } + vec3 F_Schlick(float cosTheta, vec3 F0) { + return F0 + (1.0 - F0) * pow(clamp(1.0 - cosTheta, 0.0, 1.0), 5.0); + } + void main() { - vec3 norm = normalize(Normal); - - // Ambient - vec3 ambient = uAmbientStrength * uLightColor; - - // Diffuse - vec3 lightDir = normalize(uLightPos - FragPos); - float diff = max(dot(norm, lightDir), 0.0); - vec3 diffuse = diff * uLightColor; - - // Specular - vec3 viewDir = normalize(uViewPos - FragPos); - vec3 reflectDir = reflect(-lightDir, norm); - float spec = pow(max(dot(viewDir, reflectDir), 0.0), uShininess); - vec3 specular = uSpecularStrength * spec * uLightColor; - - vec3 result = (ambient + diffuse + specular) * Color; + vec3 N_geom = normalize(Normal); + + // Safe-guard TBN + normal map + vec3 nSample = texture(uNormalMap, vUV).xyz * 2.0 - 1.0; + vec3 N = N_geom; + if (abs(nSample.x) > 0.02 || abs(nSample.y) > 0.02) { + mat3 TBN = CalcTBN(N_geom); + vec3 Nm = TBN * nSample; + float L2 = dot(Nm, Nm); + if (L2 > 1e-6) N = Nm * inversesqrt(L2); + } + + // Storminess-tinted light colors + vec3 sunC = mix(uSunColor, uSunColor * 0.35, uStorminess); + vec3 skyC = mix(uSkyColor, uSkyColor * 0.45, uStorminess); + vec3 groundC = mix(uGroundColor, uGroundColor * 0.70, uStorminess); + + vec3 V = normalize(uViewPos - FragPos); + vec3 L = uSunDir; + vec3 H = normalize(V + L); + + float NdotL = max(dot(N, L), 0.0); + float NdotV = max(dot(N, V), 0.0); + float NdotH = max(dot(N, H), 0.0); + float VdotH = max(dot(V, H), 0.0); + + // Albedo from texture × vertex color + vec3 baseColor = texture(uDiffuse, vUV).rgb * Color; + + // Shadow attenuation for direct light + float lit = 1.0; + if (uShadowsEnabled == 1 && NdotL > 0.0) { + vec3 proj = LightSpacePos.xyz / LightSpacePos.w; + proj = proj * 0.5 + 0.5; + float bias = max(0.005 * (1.0 - NdotL), 0.0015); + lit = SampleShadow(proj, bias); + } + + // Cook-Torrance BRDF — defensive clamps + vec3 F0 = mix(vec3(0.04), baseColor, uMetallic); + vec3 F = F_Schlick(VdotH, F0); + float NDF = NDF_GGX(NdotH, uRoughness); + float G = G_Smith(NdotV, NdotL, uRoughness); + float denom = max(4.0 * NdotV * NdotL, 0.001); + vec3 specular = min((NDF * G * F) / denom, vec3(20.0)); + + vec3 kD = (vec3(1.0) - F) * (1.0 - uMetallic); + vec3 diffuse = kD * baseColor / PI; + + vec3 direct = (diffuse + specular) * sunC * NdotL * lit; + + // Hemispheric indirect (approximate IBL: sky on top, ground below). + float up = 0.5 + 0.5 * N.y; + vec3 amb_color = mix(groundC, skyC, up); + // Indirect contribution: metal reflects ambient via F, dielectric picks albedo + vec3 indirect = amb_color * mix(baseColor, baseColor * F, uMetallic); + + vec3 result = direct + indirect + uEmissive; + + // Atmospheric / underwater fog + if (!(uWaterEnabled == 1 && uViewPos.y < uWaterLevel)) { + float dist = length(FragPos - uViewPos); + float fog = 1.0 - exp(-uFogDensity * dist); + result = mix(result, uHorizonColor, clamp(fog, 0.0, 0.85)); + } else { + float dist = length(FragPos - uViewPos); + float fog = 1.0 - exp(-0.08 * dist); + result = mix(result, uWaterDeep, clamp(fog, 0.0, 0.95)); + } + + // NaN / inf guard + non-negative + if (any(isnan(result)) || any(isinf(result))) result = baseColor; + result = max(result, vec3(0.0)); FragColor = vec4(result, 1.0); } )"; @@ -164,44 +294,42 @@ class CubePrimitive : public Primitive { public: CubePrimitive(const glm::vec3& color) { color_ = color; - - // 24 vertices (4 per face) with Position (3) + Color (3) + Normal (3) = 9 floats per vertex + const float r = color.r, g = color.g, b = color.b; + + // Per-vertex: Pos(3) + Color(3) + Normal(3) + UV(2) = 11 floats. + // UVs: each face maps [0,0]..[1,1] in standard (bottom-left origin) + // so a tiling texture wraps cleanly per face. float vertices[] = { - // Front face (z = 1.0) - -1.0f, -1.0f, 1.0f, color.r, color.g, color.b, 0.0f, 0.0f, 1.0f, - 1.0f, -1.0f, 1.0f, color.r, color.g, color.b, 0.0f, 0.0f, 1.0f, - 1.0f, 1.0f, 1.0f, color.r, color.g, color.b, 0.0f, 0.0f, 1.0f, - -1.0f, 1.0f, 1.0f, color.r, color.g, color.b, 0.0f, 0.0f, 1.0f, - - // Back face (z = -1.0) - -1.0f, -1.0f, -1.0f, color.r, color.g, color.b, 0.0f, 0.0f, -1.0f, - -1.0f, 1.0f, -1.0f, color.r, color.g, color.b, 0.0f, 0.0f, -1.0f, - 1.0f, 1.0f, -1.0f, color.r, color.g, color.b, 0.0f, 0.0f, -1.0f, - 1.0f, -1.0f, -1.0f, color.r, color.g, color.b, 0.0f, 0.0f, -1.0f, - - // Top face (y = 1.0) - -1.0f, 1.0f, -1.0f, color.r, color.g, color.b, 0.0f, 1.0f, 0.0f, - -1.0f, 1.0f, 1.0f, color.r, color.g, color.b, 0.0f, 1.0f, 0.0f, - 1.0f, 1.0f, 1.0f, color.r, color.g, color.b, 0.0f, 1.0f, 0.0f, - 1.0f, 1.0f, -1.0f, color.r, color.g, color.b, 0.0f, 1.0f, 0.0f, - - // Bottom face (y = -1.0) - -1.0f, -1.0f, -1.0f, color.r, color.g, color.b, 0.0f, -1.0f, 0.0f, - 1.0f, -1.0f, -1.0f, color.r, color.g, color.b, 0.0f, -1.0f, 0.0f, - 1.0f, -1.0f, 1.0f, color.r, color.g, color.b, 0.0f, -1.0f, 0.0f, - -1.0f, -1.0f, 1.0f, color.r, color.g, color.b, 0.0f, -1.0f, 0.0f, - - // Right face (x = 1.0) - 1.0f, -1.0f, -1.0f, color.r, color.g, color.b, 1.0f, 0.0f, 0.0f, - 1.0f, 1.0f, -1.0f, color.r, color.g, color.b, 1.0f, 0.0f, 0.0f, - 1.0f, 1.0f, 1.0f, color.r, color.g, color.b, 1.0f, 0.0f, 0.0f, - 1.0f, -1.0f, 1.0f, color.r, color.g, color.b, 1.0f, 0.0f, 0.0f, - - // Left face (x = -1.0) - -1.0f, -1.0f, -1.0f, color.r, color.g, color.b, -1.0f, 0.0f, 0.0f, - -1.0f, -1.0f, 1.0f, color.r, color.g, color.b, -1.0f, 0.0f, 0.0f, - -1.0f, 1.0f, 1.0f, color.r, color.g, color.b, -1.0f, 0.0f, 0.0f, - -1.0f, 1.0f, -1.0f, color.r, color.g, color.b, -1.0f, 0.0f, 0.0f + // Front face (z = +1) + -1,-1, 1, r,g,b, 0,0, 1, 0,0, + 1,-1, 1, r,g,b, 0,0, 1, 1,0, + 1, 1, 1, r,g,b, 0,0, 1, 1,1, + -1, 1, 1, r,g,b, 0,0, 1, 0,1, + // Back face (z = -1) + -1,-1,-1, r,g,b, 0,0,-1, 1,0, + -1, 1,-1, r,g,b, 0,0,-1, 1,1, + 1, 1,-1, r,g,b, 0,0,-1, 0,1, + 1,-1,-1, r,g,b, 0,0,-1, 0,0, + // Top face (y = +1) + -1, 1,-1, r,g,b, 0, 1,0, 0,1, + -1, 1, 1, r,g,b, 0, 1,0, 0,0, + 1, 1, 1, r,g,b, 0, 1,0, 1,0, + 1, 1,-1, r,g,b, 0, 1,0, 1,1, + // Bottom face (y = -1) + -1,-1,-1, r,g,b, 0,-1,0, 0,0, + 1,-1,-1, r,g,b, 0,-1,0, 1,0, + 1,-1, 1, r,g,b, 0,-1,0, 1,1, + -1,-1, 1, r,g,b, 0,-1,0, 0,1, + // Right face (x = +1) + 1,-1,-1, r,g,b, 1, 0,0, 1,0, + 1, 1,-1, r,g,b, 1, 0,0, 1,1, + 1, 1, 1, r,g,b, 1, 0,0, 0,1, + 1,-1, 1, r,g,b, 1, 0,0, 0,0, + // Left face (x = -1) + -1,-1,-1, r,g,b, -1, 0,0, 0,0, + -1,-1, 1, r,g,b, -1, 0,0, 1,0, + -1, 1, 1, r,g,b, -1, 0,0, 1,1, + -1, 1,-1, r,g,b, -1, 0,0, 0,1 }; // Indices for 12 triangles (2 per face) @@ -228,20 +356,19 @@ public: glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo_); glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW); - // Position attribute (location 0) - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)0); + const GLsizei stride = 11 * sizeof(float); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, stride, (void*)0); glEnableVertexAttribArray(0); - - // Color attribute (location 1) - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)(3 * sizeof(float))); + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, stride, (void*)(3 * sizeof(float))); glEnableVertexAttribArray(1); - - // Normal attribute (location 2) - glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)(6 * sizeof(float))); + glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, stride, (void*)(6 * sizeof(float))); glEnableVertexAttribArray(2); - + glVertexAttribPointer(3, 2, GL_FLOAT, GL_FALSE, stride, (void*)(9 * sizeof(float))); + glEnableVertexAttribArray(3); + glBindVertexArray(0); index_count_ = 36; + intrinsic_radius_ = 1.732f; // unit cube diagonal } void Render() override { @@ -269,59 +396,60 @@ public: color_ = color; std::vector vertices; std::vector indices; - - // Generate sphere vertices + + // pos(3) + color(3) + normal(3) + uv(2) = 11 floats. + // Normals on a unit sphere = the position itself. + // UV: u = longitude / 2π, v = latitude / π. for (int i = 0; i <= segments; ++i) { + float v = float(i) / segments; + float phi = M_PI * v; + float sp = std::sin(phi), cp = std::cos(phi); for (int j = 0; j <= segments; ++j) { - float x = std::cos(2.0f * M_PI * j / segments) * std::sin(M_PI * i / segments); - float y = std::cos(M_PI * i / segments); - float z = std::sin(2.0f * M_PI * j / segments) * std::sin(M_PI * i / segments); - - vertices.push_back(x); - vertices.push_back(y); - vertices.push_back(z); - vertices.push_back(color.r); - vertices.push_back(color.g); - vertices.push_back(color.b); + float u = float(j) / segments; + float th = 2.0f * M_PI * u; + float st = std::sin(th), ct = std::cos(th); + float x = ct * sp, y = cp, z = st * sp; + vertices.push_back(x); vertices.push_back(y); vertices.push_back(z); + vertices.push_back(color.r); vertices.push_back(color.g); vertices.push_back(color.b); + vertices.push_back(x); vertices.push_back(y); vertices.push_back(z); // normal + vertices.push_back(u); vertices.push_back(1.0f - v); } } - - // Generate indices + for (int i = 0; i < segments; ++i) { for (int j = 0; j < segments; ++j) { int first = i * (segments + 1) + j; int second = first + segments + 1; - - indices.push_back(first); - indices.push_back(second); - indices.push_back(first + 1); - - indices.push_back(second); - indices.push_back(second + 1); - indices.push_back(first + 1); + indices.push_back(first); indices.push_back(second); indices.push_back(first + 1); + indices.push_back(second); indices.push_back(second + 1); indices.push_back(first + 1); } } - + glGenVertexArrays(1, &vao_); glGenBuffers(1, &vbo_); glGenBuffers(1, &ebo_); - + glBindVertexArray(vao_); glBindBuffer(GL_ARRAY_BUFFER, vbo_); glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(float), vertices.data(), GL_STATIC_DRAW); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo_); glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(unsigned int), indices.data(), GL_STATIC_DRAW); - - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0); + + const GLsizei stride = 11 * sizeof(float); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, stride, (void*)0); glEnableVertexAttribArray(0); - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(3 * sizeof(float))); + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, stride, (void*)(3 * sizeof(float))); glEnableVertexAttribArray(1); - + glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, stride, (void*)(6 * sizeof(float))); + glEnableVertexAttribArray(2); + glVertexAttribPointer(3, 2, GL_FLOAT, GL_FALSE, stride, (void*)(9 * sizeof(float))); + glEnableVertexAttribArray(3); + glBindVertexArray(0); index_count_ = (GLsizei)indices.size(); + intrinsic_radius_ = 1.0f; // unit sphere } - + void Render() override { glBindVertexArray(vao_); glDrawElements(GL_TRIANGLES, index_count_, GL_UNSIGNED_INT, 0); @@ -331,7 +459,7 @@ public: void Bind() override { glBindVertexArray(vao_); } - + void Cleanup() override { if (vao_) glDeleteVertexArrays(1, &vao_); if (vbo_) glDeleteBuffers(1, &vbo_); @@ -345,34 +473,44 @@ public: color_ = color; float w = width / 2.0f; float h = height / 2.0f; - + + // pos(3) + color(3) + normal(3) + uv(2) = 11 floats. + // UV tiling based on plane size so textures repeat at ~1 per unit. + const float uTileU = width; + const float uTileV = height; float vertices[] = { - -w, 0, -h, color.r, color.g, color.b, - w, 0, -h, color.r, color.g, color.b, - w, 0, h, color.r, color.g, color.b, - -w, 0, h, color.r, color.g, color.b, + -w, 0, -h, color.r, color.g, color.b, 0, 1, 0, 0, 0, + w, 0, -h, color.r, color.g, color.b, 0, 1, 0, uTileU, 0, + w, 0, h, color.r, color.g, color.b, 0, 1, 0, uTileU, uTileV, + -w, 0, h, color.r, color.g, color.b, 0, 1, 0, 0, uTileV, }; - + unsigned int indices[] = { 0, 1, 2, 2, 3, 0 }; - + glGenVertexArrays(1, &vao_); glGenBuffers(1, &vbo_); glGenBuffers(1, &ebo_); - + glBindVertexArray(vao_); glBindBuffer(GL_ARRAY_BUFFER, vbo_); glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); - + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo_); glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW); - - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0); + + const GLsizei stride = 11 * sizeof(float); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, stride, (void*)0); glEnableVertexAttribArray(0); - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(3 * sizeof(float))); + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, stride, (void*)(3 * sizeof(float))); glEnableVertexAttribArray(1); - + glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, stride, (void*)(6 * sizeof(float))); + glEnableVertexAttribArray(2); + glVertexAttribPointer(3, 2, GL_FLOAT, GL_FALSE, stride, (void*)(9 * sizeof(float))); + glEnableVertexAttribArray(3); + glBindVertexArray(0); index_count_ = 6; + intrinsic_radius_ = std::sqrt(w * w + h * h); } void Render() override { @@ -459,40 +597,43 @@ public: std::vector vertices; std::vector indices; float halfH = height / 2.0f; + const float r0 = color.r, g0 = color.g, b0 = color.b; - // Side vertices + // Side: u wraps longitude, v = 0 (bottom) or 1 (top). Height scaled + // so taller cylinders tile vertically. + float vHi = height; for (int i = 0; i <= segments; ++i) { float angle = 2.0f * M_PI * i / segments; float x = std::cos(angle) * radius; float z = std::sin(angle) * radius; float nx = std::cos(angle), nz = std::sin(angle); - // Bottom vertex - vertices.insert(vertices.end(), {x, -halfH, z, color.r, color.g, color.b, nx, 0.0f, nz}); - // Top vertex - vertices.insert(vertices.end(), {x, halfH, z, color.r, color.g, color.b, nx, 0.0f, nz}); + float u = (float)i / segments; + vertices.insert(vertices.end(), {x, -halfH, z, r0,g0,b0, nx, 0.0f, nz, u, 0.0f}); + vertices.insert(vertices.end(), {x, halfH, z, r0,g0,b0, nx, 0.0f, nz, u, vHi}); } - // Side indices for (int i = 0; i < segments; ++i) { - unsigned int b0 = i * 2, t0 = b0 + 1, b1 = b0 + 2, t1 = b0 + 3; - indices.insert(indices.end(), {b0, b1, t0, t0, b1, t1}); + unsigned int b0v = i * 2, t0 = b0v + 1, b1 = b0v + 2, t1 = b0v + 3; + indices.insert(indices.end(), {b0v, b1, t0, t0, b1, t1}); } - // Top cap center - unsigned int topCenter = (unsigned int)(vertices.size() / 9); - vertices.insert(vertices.end(), {0.0f, halfH, 0.0f, color.r, color.g, color.b, 0.0f, 1.0f, 0.0f}); + // Top cap — UV is disk-parameterized (cos/2+0.5, sin/2+0.5) + unsigned int topCenter = (unsigned int)(vertices.size() / 11); + vertices.insert(vertices.end(), {0.0f, halfH, 0.0f, r0,g0,b0, 0,1,0, 0.5f, 0.5f}); for (int i = 0; i <= segments; ++i) { float angle = 2.0f * M_PI * i / segments; float x = std::cos(angle) * radius, z = std::sin(angle) * radius; - vertices.insert(vertices.end(), {x, halfH, z, color.r, color.g, color.b, 0.0f, 1.0f, 0.0f}); + float u = std::cos(angle) * 0.5f + 0.5f, v = std::sin(angle) * 0.5f + 0.5f; + vertices.insert(vertices.end(), {x, halfH, z, r0,g0,b0, 0,1,0, u, v}); } for (int i = 0; i < segments; ++i) indices.insert(indices.end(), {topCenter, topCenter + 1 + (unsigned int)i, topCenter + 2 + (unsigned int)i}); - // Bottom cap center - unsigned int botCenter = (unsigned int)(vertices.size() / 9); - vertices.insert(vertices.end(), {0.0f, -halfH, 0.0f, color.r, color.g, color.b, 0.0f, -1.0f, 0.0f}); + // Bottom cap + unsigned int botCenter = (unsigned int)(vertices.size() / 11); + vertices.insert(vertices.end(), {0.0f, -halfH, 0.0f, r0,g0,b0, 0,-1,0, 0.5f, 0.5f}); for (int i = 0; i <= segments; ++i) { float angle = 2.0f * M_PI * i / segments; float x = std::cos(angle) * radius, z = std::sin(angle) * radius; - vertices.insert(vertices.end(), {x, -halfH, z, color.r, color.g, color.b, 0.0f, -1.0f, 0.0f}); + float u = std::cos(angle) * 0.5f + 0.5f, v = std::sin(angle) * 0.5f + 0.5f; + vertices.insert(vertices.end(), {x, -halfH, z, r0,g0,b0, 0,-1,0, u, v}); } for (int i = 0; i < segments; ++i) indices.insert(indices.end(), {botCenter, botCenter + 2 + (unsigned int)i, botCenter + 1 + (unsigned int)i}); @@ -505,14 +646,18 @@ public: glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(float), vertices.data(), GL_STATIC_DRAW); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo_); glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(unsigned int), indices.data(), GL_STATIC_DRAW); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)0); + const GLsizei stride = 11 * sizeof(float); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, stride, (void*)0); glEnableVertexAttribArray(0); - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)(3 * sizeof(float))); + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, stride, (void*)(3 * sizeof(float))); glEnableVertexAttribArray(1); - glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)(6 * sizeof(float))); + glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, stride, (void*)(6 * sizeof(float))); glEnableVertexAttribArray(2); + glVertexAttribPointer(3, 2, GL_FLOAT, GL_FALSE, stride, (void*)(9 * sizeof(float))); + glEnableVertexAttribArray(3); glBindVertexArray(0); index_count_ = (GLsizei)indices.size(); + intrinsic_radius_ = std::sqrt(radius * radius + halfH * halfH); } void Render() override { glBindVertexArray(vao_); glDrawElements(GL_TRIANGLES, index_count_, GL_UNSIGNED_INT, 0); glBindVertexArray(0); } void Bind() override { glBindVertexArray(vao_); } @@ -530,26 +675,28 @@ public: float slopeLen = std::sqrt(radius * radius + height * height); float ny = radius / slopeLen; float nr = height / slopeLen; + const float r0 = color.r, g0 = color.g, b0 = color.b; // Apex - vertices.insert(vertices.end(), {0.0f, halfH, 0.0f, color.r, color.g, color.b, 0.0f, 1.0f, 0.0f}); - // Base ring + vertices.insert(vertices.end(), {0.0f, halfH, 0.0f, r0,g0,b0, 0,1,0, 0.5f, 1.0f}); + // Base ring — side, u wraps, v=0 for (int i = 0; i <= segments; ++i) { float angle = 2.0f * M_PI * i / segments; float x = std::cos(angle) * radius, z = std::sin(angle) * radius; float nx = std::cos(angle) * nr, nz = std::sin(angle) * nr; - vertices.insert(vertices.end(), {x, -halfH, z, color.r, color.g, color.b, nx, ny, nz}); + float u = (float)i / segments; + vertices.insert(vertices.end(), {x, -halfH, z, r0,g0,b0, nx, ny, nz, u, 0.0f}); } - // Side triangles for (int i = 0; i < segments; ++i) indices.insert(indices.end(), {0, (unsigned int)(1 + i), (unsigned int)(2 + i)}); // Bottom cap - unsigned int botCenter = (unsigned int)(vertices.size() / 9); - vertices.insert(vertices.end(), {0.0f, -halfH, 0.0f, color.r, color.g, color.b, 0.0f, -1.0f, 0.0f}); + unsigned int botCenter = (unsigned int)(vertices.size() / 11); + vertices.insert(vertices.end(), {0.0f, -halfH, 0.0f, r0,g0,b0, 0,-1,0, 0.5f, 0.5f}); for (int i = 0; i <= segments; ++i) { float angle = 2.0f * M_PI * i / segments; float x = std::cos(angle) * radius, z = std::sin(angle) * radius; - vertices.insert(vertices.end(), {x, -halfH, z, color.r, color.g, color.b, 0.0f, -1.0f, 0.0f}); + float u = std::cos(angle) * 0.5f + 0.5f, v = std::sin(angle) * 0.5f + 0.5f; + vertices.insert(vertices.end(), {x, -halfH, z, r0,g0,b0, 0,-1,0, u, v}); } for (int i = 0; i < segments; ++i) indices.insert(indices.end(), {botCenter, botCenter + 2 + (unsigned int)i, botCenter + 1 + (unsigned int)i}); @@ -562,14 +709,18 @@ public: glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(float), vertices.data(), GL_STATIC_DRAW); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo_); glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(unsigned int), indices.data(), GL_STATIC_DRAW); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)0); + const GLsizei stride = 11 * sizeof(float); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, stride, (void*)0); glEnableVertexAttribArray(0); - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)(3 * sizeof(float))); + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, stride, (void*)(3 * sizeof(float))); glEnableVertexAttribArray(1); - glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)(6 * sizeof(float))); + glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, stride, (void*)(6 * sizeof(float))); glEnableVertexAttribArray(2); + glVertexAttribPointer(3, 2, GL_FLOAT, GL_FALSE, stride, (void*)(9 * sizeof(float))); + glEnableVertexAttribArray(3); glBindVertexArray(0); index_count_ = (GLsizei)indices.size(); + intrinsic_radius_ = std::sqrt(radius * radius + halfH * halfH); } void Render() override { glBindVertexArray(vao_); glDrawElements(GL_TRIANGLES, index_count_, GL_UNSIGNED_INT, 0); glBindVertexArray(0); } void Bind() override { glBindVertexArray(vao_); } @@ -603,25 +754,27 @@ public: else if (t < 0.6f) col = glm::mix(glm::vec3(0.3f, 0.5f, 0.15f), glm::vec3(0.45f, 0.35f, 0.2f), (t - 0.3f) / 0.3f); else if (t < 0.85f)col = glm::mix(glm::vec3(0.45f, 0.35f, 0.2f), glm::vec3(0.5f, 0.5f, 0.5f), (t - 0.6f) / 0.25f); else col = glm::mix(glm::vec3(0.5f, 0.5f, 0.5f), glm::vec3(0.95f, 0.95f, 0.98f), (t - 0.85f) / 0.15f); - vertices.insert(vertices.end(), {px, h, pz, col.r, col.g, col.b, 0.0f, 1.0f, 0.0f}); // normal placeholder + // pos(3) + color(3) + normal placeholder(3) + uv(2) = 11 floats + float u = (float)x / resolution * (size * 0.1f); + float v = (float)z / resolution * (size * 0.1f); + vertices.insert(vertices.end(), {px, h, pz, col.r, col.g, col.b, 0, 1, 0, u, v}); } } - // Compute proper normals from adjacent heights + // Compute proper normals from adjacent heights — stride is now 11 int w = resolution + 1; for (int z = 0; z <= resolution; ++z) { for (int x = 0; x <= resolution; ++x) { int idx = z * w + x; - float hL = (x > 0) ? vertices[((z)*w + (x-1)) * 9 + 1] : vertices[idx * 9 + 1]; - float hR = (x < resolution) ? vertices[((z)*w + (x+1)) * 9 + 1] : vertices[idx * 9 + 1]; - float hD = (z > 0) ? vertices[((z-1)*w + x) * 9 + 1] : vertices[idx * 9 + 1]; - float hU = (z < resolution) ? vertices[((z+1)*w + x) * 9 + 1] : vertices[idx * 9 + 1]; + float hL = (x > 0) ? vertices[((z)*w + (x-1)) * 11 + 1] : vertices[idx * 11 + 1]; + float hR = (x < resolution) ? vertices[((z)*w + (x+1)) * 11 + 1] : vertices[idx * 11 + 1]; + float hD = (z > 0) ? vertices[((z-1)*w + x) * 11 + 1] : vertices[idx * 11 + 1]; + float hU = (z < resolution) ? vertices[((z+1)*w + x) * 11 + 1] : vertices[idx * 11 + 1]; glm::vec3 n = glm::normalize(glm::vec3(hL - hR, 2.0f * step, hD - hU)); - vertices[idx * 9 + 6] = n.x; - vertices[idx * 9 + 7] = n.y; - vertices[idx * 9 + 8] = n.z; + vertices[idx * 11 + 6] = n.x; + vertices[idx * 11 + 7] = n.y; + vertices[idx * 11 + 8] = n.z; } } - // Indices for (int z = 0; z < resolution; ++z) { for (int x = 0; x < resolution; ++x) { unsigned int tl = z * w + x, tr = tl + 1; @@ -638,14 +791,18 @@ public: glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(float), vertices.data(), GL_STATIC_DRAW); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo_); glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(unsigned int), indices.data(), GL_STATIC_DRAW); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)0); + const GLsizei stride = 11 * sizeof(float); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, stride, (void*)0); glEnableVertexAttribArray(0); - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)(3 * sizeof(float))); + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, stride, (void*)(3 * sizeof(float))); glEnableVertexAttribArray(1); - glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(float), (void*)(6 * sizeof(float))); + glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, stride, (void*)(6 * sizeof(float))); glEnableVertexAttribArray(2); + glVertexAttribPointer(3, 2, GL_FLOAT, GL_FALSE, stride, (void*)(9 * sizeof(float))); + glEnableVertexAttribArray(3); glBindVertexArray(0); index_count_ = (GLsizei)indices.size(); + intrinsic_radius_ = std::sqrt(halfSize * halfSize * 2.0f + maxHeight * maxHeight); } void Render() override { glBindVertexArray(vao_); glDrawElements(GL_TRIANGLES, index_count_, GL_UNSIGNED_INT, 0); glBindVertexArray(0); } void Bind() override { glBindVertexArray(vao_); } @@ -673,9 +830,9 @@ void GameObject::Cleanup() { } float GameObject::GetBoundingRadius() const { - // Approximate: assume unit primitive scaled by max scale component float maxScale = std::max({ scale_.x, scale_.y, scale_.z }); - return maxScale * 1.732f; // √3 for cube diagonal + float base = primitive_ ? primitive_->GetIntrinsicRadius() : 1.732f; + return maxScale * base; } @@ -816,52 +973,51 @@ bool Engine::CullSphere(const glm::mat4& vp, // Culling subset method Engine::CullingResult Engine::CullObjectsSubset( const std::vector& objects, - size_t startIdx, + size_t startIdx, size_t endIdx, const glm::mat4& viewProjection) { CullingResult result; - std::unordered_map primitiveToIndex; - + std::unordered_map keyToIndex; + for (size_t i = startIdx; i < endIdx && i < objects.size(); ++i) { GameObject* obj = objects[i]; - - // Perform frustum culling glm::vec3 pos = obj->GetPosition(); float radius = obj->GetBoundingRadius(); - if (CullSphere(viewProjection, pos, radius)) { - continue; // Object is outside frustum - } - - // Group by primitive - Primitive* prim = obj->GetPrimitive(); - auto it = primitiveToIndex.find(prim); - - if (it == primitiveToIndex.end()) { - // New primitive - create new batch + if (CullSphere(viewProjection, pos, radius)) continue; + + BatchKey key{ + obj->GetPrimitive(), + obj->GetTexture(), + obj->GetNormalMap(), + obj->GetUVScale(), + obj->GetMetallic(), + obj->GetRoughness(), + obj->GetEmissive() + }; + auto it = keyToIndex.find(key); + if (it == keyToIndex.end()) { result.emplace_back(); - result.back().primitive = prim; + result.back().key = key; result.back().modelMatrices.push_back(obj->GetModelMatrix()); - primitiveToIndex[prim] = result.size() - 1; + keyToIndex[key] = result.size() - 1; } else { - // Existing primitive - add to existing batch result[it->second].modelMatrices.push_back(obj->GetModelMatrix()); } } - return result; } // Merge results from all threads void Engine::MergeCullingResults( const std::vector& results, - std::unordered_map>& outBatches) + std::unordered_map, BatchKeyHash>& outBatches) { for (const auto& result : results) { for (const auto& batch : result) { - auto& targetBatch = outBatches[batch.primitive]; - targetBatch.insert(targetBatch.end(), - batch.modelMatrices.begin(), + auto& targetBatch = outBatches[batch.key]; + targetBatch.insert(targetBatch.end(), + batch.modelMatrices.begin(), batch.modelMatrices.end()); } } @@ -1091,25 +1247,55 @@ void Engine::RenderOverlay() { void Engine::RenderSceneInstanced() { + // --- Shadow pass (fills shadow_map_ depth texture) --- + light_vp_ = ComputeLightVP(); + RenderShadowPass(); + + // --- HDR main pass --- + if (hdr_fbo_ == 0 || post_w_ != width_ || post_h_ != height_) { + if (composite_program_ == 0) InitPostFBOs(); + else EnsurePostFBOs(); + } + glBindFramebuffer(GL_FRAMEBUFFER, hdr_fbo_); glViewport(0, 0, width_, height_); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); - glClear(GL_DEPTH_BUFFER_BIT); + glClearColor(0, 0, 0, 1); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + // Sky draws first with depth off; scene paints over where objects are. + { + glm::mat4 v = glm::lookAt(camera_position_, camera_target_, camera_up_); + glm::mat4 p = glm::perspective(glm::radians(settings_.fov), + float(width_) / height_, 0.1f, settings_.drawDistance); + RenderSky(v, p); + } + glUseProgram(shader_program_); - // Set lighting uniforms - float time = (float)glfwGetTime() * 0.5f; - glm::vec3 lightPos = glm::vec3(20.0f * cos(time), 25.0f, 20.0f * sin(time)); + // Bind shadow map on texture unit 1; leave unit 0 for diffuse. + glActiveTexture(GL_TEXTURE1); + glBindTexture(GL_TEXTURE_2D, shadow_map_); + glUniform1i(glGetUniformLocation(shader_program_, "uShadowMap"), 1); + glUniform1i(glGetUniformLocation(shader_program_, "uShadowsEnabled"), shadow_map_ ? 1 : 0); + glUniformMatrix4fv(glGetUniformLocation(shader_program_, "uLightVP"), + 1, GL_FALSE, &light_vp_[0][0]); + glActiveTexture(GL_TEXTURE0); - // Set texture uniforms + // Directional sun + hemispheric ambient glUniform1i(glGetUniformLocation(shader_program_, "texture_diffuse1"), 0); - - glUniform3fv(glGetUniformLocation(shader_program_, "uLightPos"), 1, &lightPos[0]); - glUniform3fv(glGetUniformLocation(shader_program_, "uViewPos"), 1, &camera_position_[0]); - glUniform3f(glGetUniformLocation(shader_program_, "uLightColor"), 2.0f, 1.8f, 1.5f); - glUniform1f(glGetUniformLocation(shader_program_, "uAmbientStrength"), 0.1f); - glUniform1f(glGetUniformLocation(shader_program_, "uSpecularStrength"), 0.5f); - glUniform1f(glGetUniformLocation(shader_program_, "uShininess"), 32.0f); + + glUniform3fv(glGetUniformLocation(shader_program_, "uSunDir"), 1, &sun_dir_[0]); + glUniform3fv(glGetUniformLocation(shader_program_, "uSunColor"), 1, &sun_color_[0]); + glUniform3fv(glGetUniformLocation(shader_program_, "uSkyColor"), 1, &sky_color_[0]); + glUniform3fv(glGetUniformLocation(shader_program_, "uGroundColor"),1, &ground_color_[0]); + glUniform3fv(glGetUniformLocation(shader_program_, "uViewPos"), 1, &camera_position_[0]); + glUniform1f(glGetUniformLocation(shader_program_, "uStorminess"), storminess_); + glUniform1i(glGetUniformLocation(shader_program_, "uWaterEnabled"), water_enabled_ ? 1 : 0); + glUniform1f(glGetUniformLocation(shader_program_, "uWaterLevel"), water_level_); + glUniform3fv(glGetUniformLocation(shader_program_, "uWaterDeep"), 1, &water_color_deep_[0]); + glUniform3fv(glGetUniformLocation(shader_program_, "uHorizonColor"), 1, &horizon_color_[0]); + glUniform1f(glGetUniformLocation(shader_program_, "uFogDensity"), fog_density_); // Set view and projection matrices glm::mat4 view = glm::lookAt(camera_position_, camera_target_, camera_up_); @@ -1141,13 +1327,13 @@ void Engine::RenderSceneInstanced() { numThreads--; size_t objectsPerThread = (totalObjects + numThreads - 1) / numThreads; - std::unordered_map> batches; + std::unordered_map, BatchKeyHash> batches; if (numThreads <= 1) { // Single-threaded path — no thread overhead CullingResult result = CullObjectsSubset(raw_objects, 0, totalObjects, vp); for (auto& batch : result) { - auto& target = batches[batch.primitive]; + auto& target = batches[batch.key]; target.insert(target.end(), batch.modelMatrices.begin(), batch.modelMatrices.end()); } } else { @@ -1185,6 +1371,25 @@ void Engine::RenderSceneInstanced() { auto& models = kv.second; if (models.empty()) continue; + // Bind per-batch diffuse texture on unit 0, normal map on unit 2 + // (shadow map stays on unit 1). + glActiveTexture(GL_TEXTURE0); + GLuint tex = kv.first.texture ? kv.first.texture : TextureCache::DefaultWhite(); + glBindTexture(GL_TEXTURE_2D, tex); + glUniform1i(glGetUniformLocation(shader_program_, "uDiffuse"), 0); + glUniform2fv(glGetUniformLocation(shader_program_, "uUVScale"), 1, + &kv.first.uv_scale[0]); + + glActiveTexture(GL_TEXTURE2); + GLuint nmap = kv.first.normal_map ? kv.first.normal_map : TextureCache::DefaultNormal(); + glBindTexture(GL_TEXTURE_2D, nmap); + glUniform1i(glGetUniformLocation(shader_program_, "uNormalMap"), 2); + glActiveTexture(GL_TEXTURE0); + + glUniform1f(glGetUniformLocation(shader_program_, "uMetallic"), kv.first.metallic); + glUniform1f(glGetUniformLocation(shader_program_, "uRoughness"), kv.first.roughness); + glUniform3fv(glGetUniformLocation(shader_program_, "uEmissive"), 1, &kv.first.emissive[0]); + // Upload model matrices to instance buffer glBindBuffer(GL_ARRAY_BUFFER, instVBO); glBufferData(GL_ARRAY_BUFFER, @@ -1193,7 +1398,7 @@ void Engine::RenderSceneInstanced() { GL_DYNAMIC_DRAW); // Bind primitive VAO - Primitive* prim = kv.first; + Primitive* prim = kv.first.primitive; prim->Bind(); // Set up instanced attributes for model matrix (locations 6-9) @@ -1229,7 +1434,20 @@ void Engine::RenderSceneInstanced() { glVertexAttribDivisor(6 + i, 0); } + // Water is drawn after opaque scene so Fresnel reflection is layered on top. + if (water_enabled_ || sec_water_.enabled) { + glm::mat4 v = glm::lookAt(camera_position_, camera_target_, camera_up_); + glm::mat4 p = glm::perspective(glm::radians(settings_.fov), + float(width_) / height_, 0.1f, settings_.drawDistance); + RenderWater(v, p); + RenderSecWater(v, p); + } + glUseProgram(0); + + // --- Post: bloom + ACES + gamma, then composite to default framebuffer --- + RenderBloom(); + CompositeToScreen(); } @@ -1322,9 +1540,45 @@ std::string Engine::processAgentCommand(const json::Value& cmd) { obj->SetRotation(rot); AddGameObject(obj); - if (!id.empty()) + if (!id.empty()) { namedObjects_[id] = obj; + namedObjectCreationParams_[id] = cmd; + } + // Optional texture / material at creation + if (cmd.has("texture")) + obj->SetTexture(TextureCache::Get(cmd.get_string("texture", ""))); + if (cmd.has("normal_map")) + obj->SetNormalMap(TextureCache::Get(cmd.get_string("normal_map", ""))); + if (cmd.has("uv_scale")) + obj->SetUVScale(glm::vec2(readVec3(cmd, "uv_scale", glm::vec3(1)))); + if (cmd.has("metallic")) obj->SetMetallic(cmd.get_float("metallic", 0.0f)); + if (cmd.has("roughness")) obj->SetRoughness(cmd.get_float("roughness", 0.7f)); + if (cmd.has("emissive")) obj->SetEmissive(readVec3(cmd, "emissive", glm::vec3(0))); + + return R"({"ok":true})"; + } + else if (action == "texture") { + std::string id = cmd.get_string("id", ""); + auto it = namedObjects_.find(id); + if (it == namedObjects_.end()) return R"({"ok":false,"error":"no such object"})"; + if (cmd.has("name")) + it->second->SetTexture(TextureCache::Get(cmd.get_string("name", ""))); + if (cmd.has("normal_map")) + it->second->SetNormalMap(TextureCache::Get(cmd.get_string("normal_map", ""))); + if (cmd.has("uv_scale")) + it->second->SetUVScale(glm::vec2(readVec3(cmd, "uv_scale", glm::vec3(1)))); + return R"({"ok":true})"; + } + else if (action == "material") { + std::string id = cmd.get_string("id", ""); + auto it = namedObjects_.find(id); + if (it == namedObjects_.end()) return R"({"ok":false,"error":"no such object"})"; + if (cmd.has("metallic")) it->second->SetMetallic(cmd.get_float("metallic", 0.0f)); + if (cmd.has("roughness")) it->second->SetRoughness(cmd.get_float("roughness", 0.7f)); + if (cmd.has("emissive")) it->second->SetEmissive(readVec3(cmd, "emissive", glm::vec3(0))); + if (cmd.has("normal_map")) + it->second->SetNormalMap(TextureCache::Get(cmd.get_string("normal_map", ""))); return R"({"ok":true})"; } else if (action == "move") { @@ -1355,11 +1609,20 @@ std::string Engine::processAgentCommand(const json::Value& cmd) { RemoveGameObject(it->second); namedObjects_.erase(it); } + namedObjectCreationParams_.erase(id); + auto bh = bodyHandleByName_.find(id); + if (bh != bodyHandleByName_.end()) { + physics_.RemoveBody(bh->second); + bodyHandleByName_.erase(bh); + } return R"({"ok":true})"; } else if (action == "clear") { game_objects_.clear(); namedObjects_.clear(); + namedObjectCreationParams_.clear(); + bodyHandleByName_.clear(); + physics_ = phys::World{}; // fresh world, retains disabled state return R"({"ok":true})"; } else if (action == "camera") { @@ -1396,9 +1659,39 @@ std::string Engine::processAgentCommand(const json::Value& cmd) { else if (prop == "clear_color") { glm::vec3 c = readVec3(cmd, "value", glm::vec3(0.1f)); glClearColor(c.r, c.g, c.b, 1.0f); + clear_color_ = c; } return R"({"ok":true})"; } + else if (action == "save_world") { + std::string name = cmd.get_string("name", "world"); + std::string path = cmd.get_string("path", "worlds/" + name + ".json"); + return saveWorldToFile(path); + } + else if (action == "load_world") { + std::string name = cmd.get_string("name", ""); + std::string path = cmd.get_string("path", + name.empty() ? std::string("worlds/world.json") : "worlds/" + name + ".json"); + return loadWorldFromFile(path); + } + else if (action == "list_worlds") { + namespace fs = std::filesystem; + std::ostringstream ss; + ss << "{\"ok\":true,\"worlds\":["; + bool first = true; + std::error_code ec; + if (fs::exists("worlds", ec)) { + for (auto& e : fs::directory_iterator("worlds", ec)) { + if (e.path().extension() == ".json") { + if (!first) ss << ","; + first = false; + ss << "\"" << e.path().stem().string() << "\""; + } + } + } + ss << "]}"; + return ss.str(); + } else if (action == "batch") { if (cmd.has("commands") && cmd["commands"].is_array()) { for (auto& c : cmd["commands"].as_array()) @@ -1406,10 +1699,200 @@ std::string Engine::processAgentCommand(const json::Value& cmd) { } return R"({"ok":true})"; } + else if (action == "water") { + water_enabled_ = cmd.get_bool("enabled", true); + water_level_ = cmd.get_float("level", water_level_); + water_amplitude_ = cmd.get_float("amplitude", water_amplitude_); + water_wavelength_ = std::max(0.5f, cmd.get_float("wavelength", water_wavelength_)); + water_speed_ = cmd.get_float("speed", water_speed_); + water_size_ = std::max(5.0f, cmd.get_float("size", water_size_)); + if (cmd.has("shallow")) water_color_shallow_ = readVec3(cmd, "shallow", water_color_shallow_); + if (cmd.has("deep")) water_color_deep_ = readVec3(cmd, "deep", water_color_deep_); + + // Physics buoyancy now samples the actual wave surface — mirror params. + physics_.water_enabled = water_enabled_; + physics_.water_level = water_level_; + physics_.water_amplitude = water_amplitude_; + physics_.water_wavelength = water_wavelength_; + physics_.water_speed = water_speed_; + if (cmd.has("density")) physics_.water_density = cmd.get_float("density", 1.0f); + + // Directional water flow (independent of wind) + if (cmd.has("flow_dir")) { + glm::vec3 d = readVec3(cmd, "flow_dir", glm::vec3(0, 0, 0)); + glm::vec2 xz(d.x, d.z); + float l = glm::length(xz); + if (l > 1e-5f) physics_.water_flow_dir = xz / l; + } + if (cmd.has("flow_speed")) + physics_.water_flow_speed = std::max(0.0f, cmd.get_float("flow_speed", 0.0f)); + + RebuildWaterMesh(cmd.get_int("resolution", 128)); + return R"({"ok":true})"; + } + else if (action == "sun") { + if (cmd.has("direction")) { + glm::vec3 d = readVec3(cmd, "direction", sun_dir_); + float l = glm::length(d); + if (l > 1e-5f) sun_dir_ = d / l; + } + if (cmd.has("color")) sun_color_ = readVec3(cmd, "color", sun_color_); + if (cmd.has("sky")) sky_color_ = readVec3(cmd, "sky", sky_color_); + if (cmd.has("zenith")) zenith_color_ = readVec3(cmd, "zenith", zenith_color_); + if (cmd.has("horizon")) horizon_color_ = readVec3(cmd, "horizon", horizon_color_); + if (cmd.has("ground")) ground_color_ = readVec3(cmd, "ground", ground_color_); + if (cmd.has("shadow_extent")) + shadow_extent_ = std::max(5.0f, cmd.get_float("shadow_extent", shadow_extent_)); + if (cmd.has("exposure")) exposure_ = cmd.get_float("exposure", 1.0f); + if (cmd.has("bloom_threshold")) bloom_threshold_ = cmd.get_float("bloom_threshold", 1.2f); + if (cmd.has("bloom_intensity")) bloom_intensity_ = cmd.get_float("bloom_intensity", 0.8f); + if (cmd.has("fog_density")) fog_density_ = cmd.get_float("fog_density", 0.0025f); + return R"({"ok":true})"; + } + else if (action == "water2") { + sec_water_.enabled = cmd.get_bool("enabled", true); + if (cmd.has("center")) sec_water_.center = readVec3(cmd, "center", sec_water_.center); + if (cmd.has("size")) sec_water_.size = std::max(2.0f, cmd.get_float("size", sec_water_.size)); + if (cmd.has("level")) sec_water_.level = cmd.get_float("level", sec_water_.level); + if (cmd.has("amplitude")) sec_water_.amplitude = cmd.get_float("amplitude", sec_water_.amplitude); + if (cmd.has("wavelength"))sec_water_.wavelength = std::max(0.5f, cmd.get_float("wavelength", sec_water_.wavelength)); + if (cmd.has("speed")) sec_water_.speed = cmd.get_float("speed", sec_water_.speed); + if (cmd.has("shallow")) sec_water_.shallow = readVec3(cmd, "shallow", sec_water_.shallow); + if (cmd.has("deep")) sec_water_.deep = readVec3(cmd, "deep", sec_water_.deep); + RebuildSecWaterMesh(cmd.get_int("resolution", 96)); + return R"({"ok":true})"; + } + else if (action == "weather") { + if (cmd.has("wind_dir")) { + glm::vec3 d = readVec3(cmd, "wind_dir", glm::vec3(1, 0, 0)); + glm::vec2 xz(d.x, d.z); + float l = glm::length(xz); + if (l > 1e-5f) wind_dir_xz_ = xz / l; + } + wind_speed_ = cmd.get_float("wind_speed", wind_speed_); + storminess_ = std::clamp(cmd.get_float("storminess", storminess_), 0.0f, 1.0f); + if (cmd.has("current_coef")) + physics_.current_coef = cmd.get_float("current_coef", 0.6f); + return R"({"ok":true})"; + } + else if (action == "physics") { + physics_.enabled = cmd.get_bool("enabled", true); + if (cmd.has("gravity") && cmd["gravity"].is_array() && cmd["gravity"].size() == 3) { + physics_.gravity = readVec3(cmd, "gravity"); + } + if (cmd.has("iterations")) + physics_.solver_iterations = std::max(1, cmd.get_int("iterations", 8)); + return R"({"ok":true})"; + } + else if (action == "body") { + std::string id = cmd.get_string("id", ""); + auto it = namedObjects_.find(id); + if (it == namedObjects_.end()) + return R"({"ok":false,"error":"no such object"})"; + + // Replace if a body already exists for this id. + auto bh = bodyHandleByName_.find(id); + if (bh != bodyHandleByName_.end()) physics_.RemoveBody(bh->second); + + phys::Body body; + std::string shape = cmd.get_string("shape", ""); + glm::vec3 scl = it->second->GetScale(); + if (shape == "sphere") { + body.shape = phys::Shape::Sphere; + body.half_extents = glm::vec3(std::max({scl.x, scl.y, scl.z})); + } else if (shape == "box" || shape == "cube") { + body.shape = phys::Shape::Box; + body.half_extents = 0.5f * glm::abs(scl); + } else if (shape == "plane") { + body.shape = phys::Shape::Plane; + body.plane_normal = glm::vec3(0, 1, 0); + if (cmd.has("normal")) body.plane_normal = glm::normalize(readVec3(cmd, "normal")); + body.plane_offset = cmd.get_float("offset", it->second->GetPosition().y); + body.is_static = true; + } else { + return R"({"ok":false,"error":"shape must be sphere|box|plane"})"; + } + + body.position = it->second->GetPosition(); + // GameObject uses Euler degrees; convert to quat for physics. + glm::vec3 r = it->second->GetRotation(); + glm::quat qx = glm::angleAxis(glm::radians(r.x), glm::vec3(1, 0, 0)); + glm::quat qy = glm::angleAxis(glm::radians(r.y), glm::vec3(0, 1, 0)); + glm::quat qz = glm::angleAxis(glm::radians(r.z), glm::vec3(0, 0, 1)); + body.orientation = qx * qy * qz; + + float mass = cmd.get_float("mass", 1.0f); + body.is_static = cmd.get_bool("static", body.is_static); + body.inv_mass = (body.is_static || mass <= 0.0f) ? 0.0f : 1.0f / mass; + body.restitution = cmd.get_float("restitution", 0.2f); + body.friction = cmd.get_float("friction", 0.5f); + body.linear_damping = cmd.get_float("linear_damping", 0.02f); + body.angular_damping = cmd.get_float("angular_damping", 0.05f); + + int handle = physics_.AddBody(body); + bodyHandleByName_[id] = handle; + + if (!physics_.enabled) physics_.enabled = true; + std::ostringstream ok; + ok << R"({"ok":true,"handle":)" << handle << "}"; + return ok.str(); + } + else if (action == "impulse") { + std::string id = cmd.get_string("id", ""); + auto it = bodyHandleByName_.find(id); + if (it == bodyHandleByName_.end()) return R"({"ok":false,"error":"no body"})"; + phys::Body* b = physics_.Get(it->second); + if (!b || b->inv_mass == 0.0f) return R"({"ok":false,"error":"static/dead"})"; + glm::vec3 J = readVec3(cmd, "impulse"); + b->linear_velocity += J * b->inv_mass; + if (cmd.has("point")) { + glm::vec3 p = readVec3(cmd, "point"); + glm::vec3 r = p - b->position; + b->angular_velocity += b->inv_inertia_world * glm::cross(r, J); + } + b->sleeping = false; + b->sleep_timer = 0.0f; + return R"({"ok":true})"; + } + else if (action == "velocity") { + std::string id = cmd.get_string("id", ""); + auto it = bodyHandleByName_.find(id); + if (it == bodyHandleByName_.end()) return R"({"ok":false,"error":"no body"})"; + phys::Body* b = physics_.Get(it->second); + if (!b) return R"({"ok":false,"error":"dead"})"; + if (cmd.has("linear")) b->linear_velocity = readVec3(cmd, "linear"); + if (cmd.has("angular")) b->angular_velocity = readVec3(cmd, "angular"); + b->sleeping = false; + b->sleep_timer = 0.0f; + return R"({"ok":true})"; + } + else if (action == "remove_body") { + std::string id = cmd.get_string("id", ""); + auto it = bodyHandleByName_.find(id); + if (it == bodyHandleByName_.end()) return R"({"ok":false,"error":"no body"})"; + physics_.RemoveBody(it->second); + bodyHandleByName_.erase(it); + return R"({"ok":true})"; + } return R"({"ok":false,"error":"unknown action"})"; } +void Engine::SyncPhysicsWriteback() { + // For every body whose name we track, write updated transform to the object. + for (auto& [name, handle] : bodyHandleByName_) { + const phys::Body* b = physics_.Get(handle); + if (!b || b->is_static) continue; + auto it = namedObjects_.find(name); + if (it == namedObjects_.end()) continue; + it->second->SetPosition(b->position); + + // quat → Euler(deg) in X-then-Y-then-Z intrinsic, matching GetModelMatrix. + glm::vec3 e = glm::eulerAngles(b->orientation); + it->second->SetRotation(glm::degrees(e)); + } +} + void Engine::Run() { // Start agent API server agentApi_.start(9090); @@ -1440,6 +1923,18 @@ void Engine::Run() { processAgentCommands(); OnUpdate(delta_time); + + if (physics_.enabled) { + // Sync time-dependent water + weather state into physics so + // buoyancy samples the same wave surface the shader draws. + physics_.water_time = (float)glfwGetTime(); + physics_.water_amp_scale = AmpScale(); + physics_.wind_dir_xz = wind_dir_xz_; + physics_.wind_speed = wind_speed_; + physics_.Step(delta_time); + SyncPhysicsWriteback(); + } + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); @@ -1542,3 +2037,897 @@ void Engine::SetCameraOrbit(float distance, float angle, float height) { std::sin(glm::radians(angle)) * distance ); } + +// ---- Sky ---- +void Engine::InitSky() { + const char* vs = R"(#version 410 core + out vec2 vNDC; + void main() { + // Fullscreen triangle trick + vec2 p = vec2((gl_VertexID == 1) ? 3.0 : -1.0, + (gl_VertexID == 2) ? 3.0 : -1.0); + vNDC = p; + gl_Position = vec4(p, 1.0, 1.0); + } + )"; + const char* fs = R"(#version 410 core + in vec2 vNDC; + out vec4 FragColor; + uniform mat4 uInvViewProj; + uniform vec3 uCamPos; + uniform vec3 uSunDir; + uniform vec3 uSunColor; + uniform vec3 uZenith; + uniform vec3 uHorizon; + uniform vec3 uGround; + uniform float uStorminess; + void main() { + vec4 near4 = uInvViewProj * vec4(vNDC, -1.0, 1.0); + vec4 far4 = uInvViewProj * vec4(vNDC, 1.0, 1.0); + vec3 dir = normalize((far4.xyz / far4.w) - (near4.xyz / near4.w)); + + vec3 zen = mix(uZenith, uZenith * 0.25, uStorminess); + vec3 hor = mix(uHorizon, uHorizon * 0.50, uStorminess); + vec3 gnd = mix(uGround, uGround * 0.80, uStorminess); + + float h = dir.y; + float t = smoothstep(0.0, 0.45, h); + vec3 sky = mix(hor, zen, t); + if (h < 0.0) { + float g = smoothstep(0.0, -0.2, h); + sky = mix(hor, gnd, g); + } + + // Sun: disk + halo, both attenuated by storminess + float cosA = dot(dir, uSunDir); + float disk = smoothstep(0.9985, 0.9995, cosA); + float halo = pow(max(cosA, 0.0), 180.0) * 0.7; + float atten = 1.0 - uStorminess * 0.85; + sky += uSunColor * atten * (disk * 6.0 + halo); + + FragColor = vec4(sky, 1.0); + } + )"; + auto compile = [](GLenum type, const char* src) { + GLuint s = glCreateShader(type); + glShaderSource(s, 1, &src, nullptr); + glCompileShader(s); + GLint ok = 0; glGetShaderiv(s, GL_COMPILE_STATUS, &ok); + if (!ok) { + char log[512]; glGetShaderInfoLog(s, 512, nullptr, log); + std::cerr << "sky shader: " << log << std::endl; + } + return s; + }; + GLuint v = compile(GL_VERTEX_SHADER, vs); + GLuint f = compile(GL_FRAGMENT_SHADER, fs); + sky_program_ = glCreateProgram(); + glAttachShader(sky_program_, v); + glAttachShader(sky_program_, f); + glLinkProgram(sky_program_); + glDeleteShader(v); glDeleteShader(f); + + glGenVertexArrays(1, &sky_vao_); // empty VAO — we use gl_VertexID +} + +void Engine::RenderSky(const glm::mat4& view, const glm::mat4& proj) { + if (sky_program_ == 0) InitSky(); + glDepthMask(GL_FALSE); + glDisable(GL_DEPTH_TEST); + glUseProgram(sky_program_); + + // Strip camera translation from the view matrix so the sky stays + // anchored to infinity regardless of where the camera walks. + glm::mat4 sky_view = glm::mat4(glm::mat3(view)); + glm::mat4 inv = glm::inverse(proj * sky_view); + glUniformMatrix4fv(glGetUniformLocation(sky_program_, "uInvViewProj"), 1, GL_FALSE, &inv[0][0]); + glUniform3fv(glGetUniformLocation(sky_program_, "uCamPos"), 1, &camera_position_[0]); + glUniform3fv(glGetUniformLocation(sky_program_, "uSunDir"), 1, &sun_dir_[0]); + glUniform3fv(glGetUniformLocation(sky_program_, "uSunColor"),1, &sun_color_[0]); + glUniform3fv(glGetUniformLocation(sky_program_, "uZenith"), 1, &zenith_color_[0]); + glUniform3fv(glGetUniformLocation(sky_program_, "uHorizon"), 1, &horizon_color_[0]); + glUniform3fv(glGetUniformLocation(sky_program_, "uGround"), 1, &ground_color_[0]); + glUniform1f(glGetUniformLocation(sky_program_, "uStorminess"), storminess_); + + glBindVertexArray(sky_vao_); + glDrawArrays(GL_TRIANGLES, 0, 3); + glBindVertexArray(0); + + glEnable(GL_DEPTH_TEST); + glDepthMask(GL_TRUE); +} + +// ---- HDR + Bloom + Tone map ---- +void Engine::InitPostShaders() { + auto compile = [](GLenum type, const char* src) { + GLuint s = glCreateShader(type); + glShaderSource(s, 1, &src, nullptr); + glCompileShader(s); + GLint ok = 0; glGetShaderiv(s, GL_COMPILE_STATUS, &ok); + if (!ok) { char log[1024]; glGetShaderInfoLog(s, 1024, nullptr, log); + std::cerr << "post shader: " << log << std::endl; } + return s; + }; + auto link = [&](const char* vs, const char* fs) { + GLuint v = compile(GL_VERTEX_SHADER, vs); + GLuint f = compile(GL_FRAGMENT_SHADER, fs); + GLuint p = glCreateProgram(); + glAttachShader(p, v); glAttachShader(p, f); + glLinkProgram(p); + glDeleteShader(v); glDeleteShader(f); + return p; + }; + + // Shared fullscreen-triangle vertex shader + const char* fs_vs = R"(#version 410 core + out vec2 vUV; + void main() { + vec2 p = vec2((gl_VertexID == 1) ? 3.0 : -1.0, + (gl_VertexID == 2) ? 3.0 : -1.0); + vUV = p * 0.5 + 0.5; + gl_Position = vec4(p, 0.0, 1.0); + } + )"; + + // Bright-pass extract + const char* extract_fs = R"(#version 410 core + in vec2 vUV; + out vec4 FragColor; + uniform sampler2D uScene; + uniform float uThreshold; + void main() { + vec3 c = texture(uScene, vUV).rgb; + float luma = dot(c, vec3(0.2126, 0.7152, 0.0722)); + float k = max(luma - uThreshold, 0.0) / max(luma, 1e-4); + FragColor = vec4(c * k, 1.0); + } + )"; + + // Separable 9-tap Gaussian blur + const char* blur_fs = R"(#version 410 core + in vec2 vUV; + out vec4 FragColor; + uniform sampler2D uTex; + uniform vec2 uTexel; // 1 / size + uniform int uHorizontal; // 1 = horizontal, 0 = vertical + const float w[5] = float[5](0.227027, 0.1945946, 0.1216216, 0.054054, 0.016216); + void main() { + vec2 step = (uHorizontal == 1) ? vec2(uTexel.x, 0.0) : vec2(0.0, uTexel.y); + vec3 sum = texture(uTex, vUV).rgb * w[0]; + for (int i = 1; i < 5; ++i) { + sum += texture(uTex, vUV + step * float(i)).rgb * w[i]; + sum += texture(uTex, vUV - step * float(i)).rgb * w[i]; + } + FragColor = vec4(sum, 1.0); + } + )"; + + // Composite: HDR + bloom -> ACES -> gamma -> backbuffer + const char* composite_fs = R"(#version 410 core + in vec2 vUV; + out vec4 FragColor; + uniform sampler2D uHDR; + uniform sampler2D uBloom; + uniform float uExposure; + uniform float uBloomIntensity; + + // Narkowicz ACES approximation + vec3 aces(vec3 x) { + const float a = 2.51, b = 0.03, c = 2.43, d = 0.59, e = 0.14; + return clamp((x * (a * x + b)) / (x * (c * x + d) + e), 0.0, 1.0); + } + + void main() { + vec3 hdr = texture(uHDR, vUV).rgb; + vec3 bloom = texture(uBloom, vUV).rgb; + vec3 c = hdr + bloom * uBloomIntensity; + c *= uExposure; + c = aces(c); + c = pow(c, vec3(1.0 / 2.2)); + FragColor = vec4(c, 1.0); + } + )"; + + bloom_extract_program_ = link(fs_vs, extract_fs); + bloom_blur_program_ = link(fs_vs, blur_fs); + composite_program_ = link(fs_vs, composite_fs); + + if (fullscreen_vao_ == 0) glGenVertexArrays(1, &fullscreen_vao_); +} + +void Engine::EnsurePostFBOs() { + if (post_w_ == width_ && post_h_ == height_ && hdr_fbo_ != 0) return; + // Delete old + if (hdr_color_) glDeleteTextures(1, &hdr_color_); + if (hdr_depth_rb_) glDeleteRenderbuffers(1, &hdr_depth_rb_); + if (hdr_fbo_) glDeleteFramebuffers(1, &hdr_fbo_); + for (int i = 0; i < 2; ++i) { + if (bloom_tex_[i]) glDeleteTextures(1, &bloom_tex_[i]); + if (bloom_fbo_[i]) glDeleteFramebuffers(1, &bloom_fbo_[i]); + } + hdr_color_ = hdr_depth_rb_ = hdr_fbo_ = 0; + hdr_fbo_ms_ = hdr_color_ms_ = 0; // unused in single-sample mode + for (int i = 0; i < 2; ++i) bloom_tex_[i] = bloom_fbo_[i] = 0; + + post_w_ = width_; post_h_ = height_; + bloom_w_ = std::max(1, width_ / 2); + bloom_h_ = std::max(1, height_ / 2); + + // Single-sample HDR render target. + glGenTextures(1, &hdr_color_); + glBindTexture(GL_TEXTURE_2D, hdr_color_); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F, post_w_, post_h_, 0, + GL_RGBA, GL_FLOAT, nullptr); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glGenRenderbuffers(1, &hdr_depth_rb_); + glBindRenderbuffer(GL_RENDERBUFFER, hdr_depth_rb_); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, post_w_, post_h_); + + glGenFramebuffers(1, &hdr_fbo_); + glBindFramebuffer(GL_FRAMEBUFFER, hdr_fbo_); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, + GL_TEXTURE_2D, hdr_color_, 0); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, + GL_RENDERBUFFER, hdr_depth_rb_); + if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) + std::cerr << "HDR FBO incomplete\n"; + + // Bloom ping-pong at half resolution + for (int i = 0; i < 2; ++i) { + glGenTextures(1, &bloom_tex_[i]); + glBindTexture(GL_TEXTURE_2D, bloom_tex_[i]); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F, bloom_w_, bloom_h_, 0, + GL_RGBA, GL_FLOAT, nullptr); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glGenFramebuffers(1, &bloom_fbo_[i]); + glBindFramebuffer(GL_FRAMEBUFFER, bloom_fbo_[i]); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, + GL_TEXTURE_2D, bloom_tex_[i], 0); + if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) + std::cerr << "Bloom FBO incomplete\n"; + } + + glBindFramebuffer(GL_FRAMEBUFFER, 0); +} + +void Engine::InitPostFBOs() { + InitPostShaders(); + EnsurePostFBOs(); +} + +void Engine::RenderBloom() { + if (hdr_fbo_ == 0) return; + glDisable(GL_DEPTH_TEST); + glBindVertexArray(fullscreen_vao_); + + // 1. Bright-pass extract: hdr -> bloom[0] + glBindFramebuffer(GL_FRAMEBUFFER, bloom_fbo_[0]); + glViewport(0, 0, bloom_w_, bloom_h_); + glUseProgram(bloom_extract_program_); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, hdr_color_); + glUniform1i(glGetUniformLocation(bloom_extract_program_, "uScene"), 0); + glUniform1f(glGetUniformLocation(bloom_extract_program_, "uThreshold"), bloom_threshold_); + glDrawArrays(GL_TRIANGLES, 0, 3); + + // 2. Blur horizontal: bloom[0] -> bloom[1] + glBindFramebuffer(GL_FRAMEBUFFER, bloom_fbo_[1]); + glUseProgram(bloom_blur_program_); + glBindTexture(GL_TEXTURE_2D, bloom_tex_[0]); + glUniform1i(glGetUniformLocation(bloom_blur_program_, "uTex"), 0); + glUniform2f(glGetUniformLocation(bloom_blur_program_, "uTexel"), + 1.0f / bloom_w_, 1.0f / bloom_h_); + glUniform1i(glGetUniformLocation(bloom_blur_program_, "uHorizontal"), 1); + glDrawArrays(GL_TRIANGLES, 0, 3); + + // 3. Blur vertical: bloom[1] -> bloom[0] + glBindFramebuffer(GL_FRAMEBUFFER, bloom_fbo_[0]); + glBindTexture(GL_TEXTURE_2D, bloom_tex_[1]); + glUniform1i(glGetUniformLocation(bloom_blur_program_, "uHorizontal"), 0); + glDrawArrays(GL_TRIANGLES, 0, 3); + + glBindFramebuffer(GL_FRAMEBUFFER, 0); + glEnable(GL_DEPTH_TEST); +} + +void Engine::CompositeToScreen() { + glBindFramebuffer(GL_FRAMEBUFFER, 0); + glViewport(0, 0, width_, height_); + glDisable(GL_DEPTH_TEST); + glUseProgram(composite_program_); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, hdr_color_); + glUniform1i(glGetUniformLocation(composite_program_, "uHDR"), 0); + glActiveTexture(GL_TEXTURE1); + glBindTexture(GL_TEXTURE_2D, bloom_tex_[0]); + glUniform1i(glGetUniformLocation(composite_program_, "uBloom"), 1); + glUniform1f(glGetUniformLocation(composite_program_, "uExposure"), exposure_); + glUniform1f(glGetUniformLocation(composite_program_, "uBloomIntensity"), bloom_intensity_); + glActiveTexture(GL_TEXTURE0); + glBindVertexArray(fullscreen_vao_); + glDrawArrays(GL_TRIANGLES, 0, 3); + glEnable(GL_DEPTH_TEST); +} + +// ---- Shadow map ---- +void Engine::InitShadowMap() { + glGenFramebuffers(1, &shadow_fbo_); + glGenTextures(1, &shadow_map_); + glBindTexture(GL_TEXTURE_2D, shadow_map_); + glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, + SHADOW_SIZE, SHADOW_SIZE, 0, + GL_DEPTH_COMPONENT, GL_FLOAT, nullptr); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); + float border[] = {1.0f, 1.0f, 1.0f, 1.0f}; + glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, border); + // Enable hardware PCF: texture lookup returns comparison result vs ref. + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_REF_TO_TEXTURE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL); + + glBindFramebuffer(GL_FRAMEBUFFER, shadow_fbo_); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, + GL_TEXTURE_2D, shadow_map_, 0); + glDrawBuffer(GL_NONE); + glReadBuffer(GL_NONE); + if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) + std::cerr << "Shadow FBO incomplete\n"; + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + const char* vs = R"(#version 410 core + layout(location = 0) in vec3 aPos; + layout(location = 6) in mat4 aInstanceModel; + uniform mat4 uLightVP; + void main() { gl_Position = uLightVP * aInstanceModel * vec4(aPos, 1.0); } + )"; + const char* fs = R"(#version 410 core + void main() {} + )"; + auto compile = [](GLenum type, const char* src) { + GLuint s = glCreateShader(type); + glShaderSource(s, 1, &src, nullptr); + glCompileShader(s); + GLint ok = 0; glGetShaderiv(s, GL_COMPILE_STATUS, &ok); + if (!ok) { char log[512]; glGetShaderInfoLog(s, 512, nullptr, log); + std::cerr << "shadow shader: " << log << std::endl; } + return s; + }; + GLuint v = compile(GL_VERTEX_SHADER, vs); + GLuint f = compile(GL_FRAGMENT_SHADER, fs); + shadow_program_ = glCreateProgram(); + glAttachShader(shadow_program_, v); + glAttachShader(shadow_program_, f); + glLinkProgram(shadow_program_); + glDeleteShader(v); glDeleteShader(f); +} + +glm::mat4 Engine::ComputeLightVP() const { + // Frustum centered on camera target along the ground; tracks the player. + glm::vec3 target(camera_target_.x, 0.0f, camera_target_.z); + glm::vec3 eye = target + sun_dir_ * 60.0f; + glm::vec3 up = std::abs(sun_dir_.y) > 0.95f + ? glm::vec3(0, 0, 1) : glm::vec3(0, 1, 0); + glm::mat4 view = glm::lookAt(eye, target, up); + float h = shadow_extent_; + glm::mat4 proj = glm::ortho(-h, h, -h, h, 1.0f, 200.0f); + return proj * view; +} + +void Engine::RenderShadowPass() { + if (shadow_fbo_ == 0) InitShadowMap(); + + glBindFramebuffer(GL_FRAMEBUFFER, shadow_fbo_); + glViewport(0, 0, SHADOW_SIZE, SHADOW_SIZE); + glClear(GL_DEPTH_BUFFER_BIT); + glEnable(GL_DEPTH_TEST); + glEnable(GL_POLYGON_OFFSET_FILL); + glPolygonOffset(2.0f, 4.0f); + + glUseProgram(shadow_program_); + glUniformMatrix4fv(glGetUniformLocation(shadow_program_, "uLightVP"), + 1, GL_FALSE, &light_vp_[0][0]); + + // Group all game objects by primitive (no culling — sun frustum). + std::unordered_map> batches; + for (auto& sp : game_objects_) + batches[sp->GetPrimitive()].push_back(sp->GetModelMatrix()); + + static GLuint shadowInstVBO = 0; + if (!shadowInstVBO) glGenBuffers(1, &shadowInstVBO); + + for (auto& [prim, models] : batches) { + if (models.empty()) continue; + glBindBuffer(GL_ARRAY_BUFFER, shadowInstVBO); + glBufferData(GL_ARRAY_BUFFER, models.size() * sizeof(glm::mat4), + models.data(), GL_DYNAMIC_DRAW); + prim->Bind(); + glBindBuffer(GL_ARRAY_BUFFER, shadowInstVBO); + for (int i = 0; i < 4; ++i) { + int loc = 6 + i; + glEnableVertexAttribArray(loc); + glVertexAttribPointer(loc, 4, GL_FLOAT, GL_FALSE, + sizeof(glm::mat4), (void*)(sizeof(float) * 4 * i)); + glVertexAttribDivisor(loc, 1); + } + if (prim->GetIndexCount() > 0) + glDrawElementsInstanced(prim->GetDrawMode(), prim->GetIndexCount(), + GL_UNSIGNED_INT, 0, (GLsizei)models.size()); + else + glDrawArraysInstanced(prim->GetDrawMode(), 0, prim->GetVertexCount(), + (GLsizei)models.size()); + for (int i = 0; i < 4; ++i) glVertexAttribDivisor(6 + i, 0); + } + + glDisable(GL_POLYGON_OFFSET_FILL); + glBindFramebuffer(GL_FRAMEBUFFER, 0); +} + +// ---- Water ---- +void Engine::InitWater() { + const char* vs = R"(#version 410 core + layout(location = 0) in vec2 aXZ; + uniform mat4 uView; + uniform mat4 uProjection; + uniform float uTime; + uniform float uLevel; + uniform float uAmplitude; + uniform float uWavelength; + uniform float uSpeed; + uniform float uAmpScale; + uniform float uChopScale; + + out vec3 vWorldPos; + out vec3 vNormal; + out float vFoam; + + // 10 Gerstner wave trains — broad wavelength spread + golden-angle + // directions so the sum doesn't form a visible tile. KEEP IN SYNC + // with phys::World::SampleWaterY in Physics.cpp. + const vec2 DIRS[10] = vec2[10]( + vec2( 1.00, 0.00), + vec2( 0.71, -0.71), + vec2(-0.41, 0.91), + vec2(-0.85, -0.52), + vec2( 0.30, 0.95), + vec2( 0.88, 0.47), + vec2(-0.94, 0.33), + vec2( 0.60, -0.80), + vec2(-0.15, -0.99), + vec2( 0.43, 0.90) + ); + const float AMP_SCALE[10] = float[10]( + 0.70, 0.46, 0.32, 0.25, 0.18, 0.14, 0.11, 0.08, 0.06, 0.05); + const float LEN_SCALE[10] = float[10]( + 1.00, 0.77, 0.59, 0.46, 0.36, 0.28, 0.22, 0.17, 0.13, 0.10); + const float SPEED_SCALE[10]= float[10]( + 1.00, 1.23, 0.82, 1.37, 0.91, 1.19, 0.75, 1.48, 1.07, 0.88); + const float Q[10] = float[10]( + 0.50, 0.45, 0.40, 0.36, 0.32, 0.28, 0.24, 0.20, 0.17, 0.14); + + void main() { + vec3 p = vec3(aXZ.x, uLevel, aXZ.y); + vec3 tangent = vec3(1, 0, 0); + vec3 binorm = vec3(0, 0, 1); + float height_accum = 0.0; + for (int i = 0; i < 10; ++i) { + vec2 d = normalize(DIRS[i]); + float L = uWavelength * LEN_SCALE[i]; + float w = 6.28318530718 / L; + float A = uAmplitude * AMP_SCALE[i] * uAmpScale; + float phi = uTime * uSpeed * SPEED_SCALE[i] * sqrt(9.81 * w); + float theta = dot(d, vec2(p.x, p.z)) * w + phi; + float s = sin(theta); + float c = cos(theta); + + // Gerstner: horizontal drag in wave direction, vertical rise + float QA = Q[i] * uChopScale * A; + p.x += QA * d.x * c; + p.z += QA * d.y * c; + p.y += A * s; + height_accum += A * s; + + // Partial derivatives for normal + float wa = w * A; + tangent += vec3(-Q[i] * d.x * d.x * wa * s, + d.x * wa * c, + -Q[i] * d.x * d.y * wa * s); + binorm += vec3(-Q[i] * d.x * d.y * wa * s, + d.y * wa * c, + -Q[i] * d.y * d.y * wa * s); + } + vec3 N = normalize(cross(binorm, tangent)); + if (N.y < 0.0) N = -N; // face up + + vWorldPos = p; + vNormal = N; + vFoam = height_accum; + gl_Position = uProjection * uView * vec4(p, 1.0); + } + )"; + const char* fs = R"(#version 410 core + in vec3 vWorldPos; + in vec3 vNormal; + in float vFoam; + out vec4 FragColor; + uniform vec3 uViewPos; + uniform vec3 uSunDir; + uniform vec3 uSunColor; + uniform vec3 uZenith; + uniform vec3 uHorizon; + uniform vec3 uShallow; + uniform vec3 uDeep; + uniform float uAmplitude; + uniform float uAmpScale; + + void main() { + vec3 N = normalize(vNormal); + vec3 V = normalize(uViewPos - vWorldPos); + + // Fresnel (Schlick) + float ndv = clamp(dot(N, V), 0.0, 1.0); + float F0 = 0.02; + float fres = F0 + (1.0 - F0) * pow(1.0 - ndv, 5.0); + + // Water body color: shallow where facing viewer, deep at grazing. + vec3 body = mix(uDeep, uShallow, ndv); + + // Reflected sky direction + vec3 R = reflect(-V, N); + float up = clamp(R.y, 0.0, 1.0); + vec3 sky = mix(uHorizon, uZenith, smoothstep(0.0, 0.6, up)); + + // Sun specular + vec3 H = normalize(uSunDir + V); + float spec = pow(max(dot(N, H), 0.0), 180.0); + vec3 sun_hi = uSunColor * spec * 3.0; + + vec3 color = mix(body, sky, fres) + sun_hi; + + // Foam on wave crests: fade in near max wave height. + float peakH = uAmplitude * uAmpScale * 1.2; + float foam = smoothstep(peakH * 0.55, peakH * 1.05, vFoam); + color = mix(color, vec3(0.95, 0.97, 1.0), foam * 0.8); + + FragColor = vec4(color, 0.92); + } + )"; + auto compile = [](GLenum type, const char* src) { + GLuint s = glCreateShader(type); + glShaderSource(s, 1, &src, nullptr); + glCompileShader(s); + GLint ok = 0; glGetShaderiv(s, GL_COMPILE_STATUS, &ok); + if (!ok) { char log[512]; glGetShaderInfoLog(s, 512, nullptr, log); + std::cerr << "water shader: " << log << std::endl; } + return s; + }; + GLuint v = compile(GL_VERTEX_SHADER, vs); + GLuint f = compile(GL_FRAGMENT_SHADER, fs); + water_program_ = glCreateProgram(); + glAttachShader(water_program_, v); + glAttachShader(water_program_, f); + glLinkProgram(water_program_); + glDeleteShader(v); glDeleteShader(f); +} + +void Engine::RebuildWaterMesh(int resolution) { + if (water_vao_ == 0) { + glGenVertexArrays(1, &water_vao_); + glGenBuffers(1, &water_vbo_); + glGenBuffers(1, &water_ebo_); + } + + int N = std::max(8, resolution); + float half = water_size_ * 0.5f; + float step = water_size_ / (float)N; + + std::vector verts; + verts.reserve((N + 1) * (N + 1) * 2); + for (int j = 0; j <= N; ++j) { + for (int i = 0; i <= N; ++i) { + verts.push_back(-half + i * step); + verts.push_back(-half + j * step); + } + } + std::vector idx; + idx.reserve(N * N * 6); + for (int j = 0; j < N; ++j) { + for (int i = 0; i < N; ++i) { + unsigned int a = j * (N + 1) + i; + unsigned int b = a + 1; + unsigned int c = a + (N + 1); + unsigned int d = c + 1; + idx.push_back(a); idx.push_back(c); idx.push_back(b); + idx.push_back(b); idx.push_back(c); idx.push_back(d); + } + } + water_index_count_ = (int)idx.size(); + + glBindVertexArray(water_vao_); + glBindBuffer(GL_ARRAY_BUFFER, water_vbo_); + glBufferData(GL_ARRAY_BUFFER, verts.size() * sizeof(float), verts.data(), GL_STATIC_DRAW); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, water_ebo_); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, idx.size() * sizeof(unsigned int), idx.data(), GL_STATIC_DRAW); + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 2 * sizeof(float), (void*)0); + glBindVertexArray(0); +} + +void Engine::RebuildSecWaterMesh(int resolution) { + if (sec_water_.vao == 0) { + glGenVertexArrays(1, &sec_water_.vao); + glGenBuffers(1, &sec_water_.vbo); + glGenBuffers(1, &sec_water_.ebo); + } + int N = std::max(8, resolution); + float half = sec_water_.size * 0.5f; + float step = sec_water_.size / (float)N; + std::vector verts; + verts.reserve((N + 1) * (N + 1) * 2); + for (int j = 0; j <= N; ++j) + for (int i = 0; i <= N; ++i) { + verts.push_back(sec_water_.center.x - half + i * step); + verts.push_back(sec_water_.center.z - half + j * step); + } + std::vector idx; + idx.reserve(N * N * 6); + for (int j = 0; j < N; ++j) + for (int i = 0; i < N; ++i) { + unsigned int a = j * (N + 1) + i; + unsigned int b = a + 1; + unsigned int c = a + (N + 1); + unsigned int d = c + 1; + idx.push_back(a); idx.push_back(c); idx.push_back(b); + idx.push_back(b); idx.push_back(c); idx.push_back(d); + } + sec_water_.idx_count = (int)idx.size(); + + glBindVertexArray(sec_water_.vao); + glBindBuffer(GL_ARRAY_BUFFER, sec_water_.vbo); + glBufferData(GL_ARRAY_BUFFER, verts.size() * sizeof(float), verts.data(), GL_STATIC_DRAW); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, sec_water_.ebo); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, idx.size() * sizeof(unsigned int), idx.data(), GL_STATIC_DRAW); + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 2 * sizeof(float), (void*)0); + glBindVertexArray(0); +} + +void Engine::RenderSecWater(const glm::mat4& view, const glm::mat4& proj) { + if (!sec_water_.enabled) return; + if (water_program_ == 0) InitWater(); + if (sec_water_.idx_count == 0) RebuildSecWaterMesh(96); + + glUseProgram(water_program_); + glUniformMatrix4fv(glGetUniformLocation(water_program_, "uView"), 1, GL_FALSE, &view[0][0]); + glUniformMatrix4fv(glGetUniformLocation(water_program_, "uProjection"), 1, GL_FALSE, &proj[0][0]); + glUniform1f(glGetUniformLocation(water_program_, "uTime"), (float)glfwGetTime()); + glUniform1f(glGetUniformLocation(water_program_, "uLevel"), sec_water_.level); + glUniform1f(glGetUniformLocation(water_program_, "uAmplitude"), sec_water_.amplitude); + glUniform1f(glGetUniformLocation(water_program_, "uWavelength"), sec_water_.wavelength); + glUniform1f(glGetUniformLocation(water_program_, "uSpeed"), sec_water_.speed); + glUniform1f(glGetUniformLocation(water_program_, "uAmpScale"), 1.0f); + glUniform1f(glGetUniformLocation(water_program_, "uChopScale"), 1.0f); + glUniform3fv(glGetUniformLocation(water_program_, "uViewPos"), 1, &camera_position_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uSunDir"), 1, &sun_dir_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uSunColor"), 1, &sun_color_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uZenith"), 1, &zenith_color_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uHorizon"), 1, &horizon_color_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uShallow"), 1, &sec_water_.shallow[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uDeep"), 1, &sec_water_.deep[0]); + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBindVertexArray(sec_water_.vao); + glDrawElements(GL_TRIANGLES, sec_water_.idx_count, GL_UNSIGNED_INT, nullptr); + glBindVertexArray(0); + glDisable(GL_BLEND); +} + +void Engine::RenderWater(const glm::mat4& view, const glm::mat4& proj) { + if (!water_enabled_) return; + if (water_program_ == 0) InitWater(); + if (water_index_count_ == 0) RebuildWaterMesh(128); + + glUseProgram(water_program_); + glUniformMatrix4fv(glGetUniformLocation(water_program_, "uView"), 1, GL_FALSE, &view[0][0]); + glUniformMatrix4fv(glGetUniformLocation(water_program_, "uProjection"), 1, GL_FALSE, &proj[0][0]); + glUniform1f(glGetUniformLocation(water_program_, "uTime"), (float)glfwGetTime()); + glUniform1f(glGetUniformLocation(water_program_, "uLevel"), water_level_); + glUniform1f(glGetUniformLocation(water_program_, "uAmplitude"), water_amplitude_); + glUniform1f(glGetUniformLocation(water_program_, "uWavelength"), water_wavelength_); + glUniform1f(glGetUniformLocation(water_program_, "uSpeed"), water_speed_); + glUniform1f(glGetUniformLocation(water_program_, "uAmpScale"), AmpScale()); + glUniform1f(glGetUniformLocation(water_program_, "uChopScale"), ChopScale()); + glUniform3fv(glGetUniformLocation(water_program_, "uViewPos"), 1, &camera_position_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uSunDir"), 1, &sun_dir_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uSunColor"), 1, &sun_color_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uZenith"), 1, &zenith_color_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uHorizon"), 1, &horizon_color_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uShallow"), 1, &water_color_shallow_[0]); + glUniform3fv(glGetUniformLocation(water_program_, "uDeep"), 1, &water_color_deep_[0]); + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBindVertexArray(water_vao_); + glDrawElements(GL_TRIANGLES, water_index_count_, GL_UNSIGNED_INT, nullptr); + glBindVertexArray(0); + glDisable(GL_BLEND); +} + +// ---- World serialization ---- +namespace { + void jsonEscape(std::ostringstream& o, const std::string& s) { + o << '"'; + for (char c : s) { + switch (c) { + case '"': o << "\\\""; break; + case '\\': o << "\\\\"; break; + case '\n': o << "\\n"; break; + case '\r': o << "\\r"; break; + case '\t': o << "\\t"; break; + default: + if ((unsigned char)c < 0x20) { + char buf[8]; + std::snprintf(buf, sizeof(buf), "\\u%04x", c); + o << buf; + } else o << c; + } + } + o << '"'; + } + + void jsonWrite(std::ostringstream& o, const json::Value& v); + + void jsonWriteNumber(std::ostringstream& o, double n) { + if (n == (double)(long long)n) o << (long long)n; + else o << n; + } + + void jsonWrite(std::ostringstream& o, const json::Value& v) { + switch (v.type()) { + case json::Value::Null: o << "null"; break; + case json::Value::Bool: o << (v.as_bool() ? "true" : "false"); break; + case json::Value::Number: jsonWriteNumber(o, v.as_number()); break; + case json::Value::String: jsonEscape(o, v.as_string()); break; + case json::Value::ArrayT: { + o << '['; + bool first = true; + for (auto& e : v.as_array()) { + if (!first) o << ','; first = false; + jsonWrite(o, e); + } + o << ']'; + break; + } + case json::Value::ObjectT: { + o << '{'; + bool first = true; + for (auto& [k, val] : v.as_object()) { + if (!first) o << ','; first = false; + jsonEscape(o, k); o << ':'; + jsonWrite(o, val); + } + o << '}'; + break; + } + } + } + + void jsonVec3(std::ostringstream& o, const glm::vec3& v) { + o << '[' << v.x << ',' << v.y << ',' << v.z << ']'; + } +} + +std::string Engine::saveWorldToFile(const std::string& path) { + namespace fs = std::filesystem; + std::error_code ec; + fs::create_directories(fs::path(path).parent_path(), ec); + + std::ostringstream o; + o.precision(6); + o << "{\n \"version\":1,\n \"clear_color\":"; + jsonVec3(o, clear_color_); + o << ",\n \"camera\":{\"position\":"; + jsonVec3(o, camera_position_); + o << ",\"target\":"; + jsonVec3(o, camera_target_); + o << "},\n \"objects\":["; + + bool first = true; + for (auto& [id, obj] : namedObjects_) { + auto it = namedObjectCreationParams_.find(id); + if (it == namedObjectCreationParams_.end()) continue; + if (!first) o << ','; + first = false; + o << "\n "; + + // Start with the original creation command, then overlay live + // transform so saved file reflects current position/rotation/scale. + json::Object merged = it->second.as_object(); + json::Array pos{{(double)obj->GetPosition().x}, + {(double)obj->GetPosition().y}, + {(double)obj->GetPosition().z}}; + json::Array rot{{(double)obj->GetRotation().x}, + {(double)obj->GetRotation().y}, + {(double)obj->GetRotation().z}}; + json::Array scl{{(double)obj->GetScale().x}, + {(double)obj->GetScale().y}, + {(double)obj->GetScale().z}}; + merged["position"] = json::Value(pos); + merged["rotation"] = json::Value(rot); + merged["scale"] = json::Value(scl); + jsonWrite(o, json::Value(merged)); + } + o << "\n ]\n}\n"; + + std::ofstream f(path); + if (!f) { + std::ostringstream err; + err << R"({"ok":false,"error":"cannot open )" << path << R"("})"; + return err.str(); + } + f << o.str(); + f.close(); + + std::ostringstream ok; + ok << R"({"ok":true,"path":")" << path << R"(","objects":)" + << namedObjects_.size() << "}"; + return ok.str(); +} + +std::string Engine::loadWorldFromFile(const std::string& path) { + json::Value world; + try { + world = json::parseFile(path); + } catch (const std::exception& e) { + std::ostringstream err; + err << R"({"ok":false,"error":"parse: )" << e.what() << R"("})"; + return err.str(); + } + + // Wipe current state before loading + game_objects_.clear(); + namedObjects_.clear(); + namedObjectCreationParams_.clear(); + + if (world.has("clear_color") && world["clear_color"].is_array()) { + auto& a = world["clear_color"].as_array(); + if (a.size() == 3) { + glm::vec3 c(a[0].as_float(), a[1].as_float(), a[2].as_float()); + clear_color_ = c; + glClearColor(c.r, c.g, c.b, 1.0f); + } + } + if (world.has("camera") && world["camera"].is_object()) { + auto& cam = world["camera"]; + if (cam.has("position") && cam["position"].is_array() && cam["position"].size() == 3) { + auto& a = cam["position"].as_array(); + SetCameraPosition(glm::vec3(a[0].as_float(), a[1].as_float(), a[2].as_float())); + } + if (cam.has("target") && cam["target"].is_array() && cam["target"].size() == 3) { + auto& a = cam["target"].as_array(); + SetCameraTarget(glm::vec3(a[0].as_float(), a[1].as_float(), a[2].as_float())); + } + } + if (world.has("objects") && world["objects"].is_array()) { + for (auto& obj : world["objects"].as_array()) { + // Each object is a fully-formed create command; just replay it. + json::Object cmd = obj.as_object(); + cmd["action"] = json::Value(std::string("create")); + processAgentCommand(json::Value(cmd)); + } + } + + std::ostringstream ok; + ok << R"({"ok":true,"path":")" << path << R"(","objects":)" + << namedObjects_.size() << "}"; + return ok.str(); +} diff --git a/src/Engine.h b/src/Engine.h index eebbb82..acc63e2 100644 --- a/src/Engine.h +++ b/src/Engine.h @@ -11,7 +11,9 @@ #include "Settings.h" #include "Audio.h" #include "AgentAPI.h" +#include "Physics.h" #include +#include // Forward declarations @@ -55,6 +57,8 @@ public: void SetCameraPosition(const glm::vec3& position); void SetCameraTarget(const glm::vec3& target); void SetCameraOrbit(float distance, float angle, float height = 5.0f); + const glm::vec3& GetCameraPosition() const { return camera_position_; } + const glm::vec3& GetCameraTarget() const { return camera_target_; } GLuint text_vao = 0, text_vbo = 0; @@ -67,25 +71,58 @@ public: private: ThreadPool threadPool_; - // Culling result structure - struct CullingBatch { + // Culling result structure — now keyed by (primitive, texture) so batches + // can be issued per-texture. + struct BatchKey { Primitive* primitive; + GLuint texture; + GLuint normal_map; + glm::vec2 uv_scale; + float metallic; + float roughness; + glm::vec3 emissive; + bool operator==(const BatchKey& o) const { + return primitive == o.primitive && texture == o.texture + && normal_map == o.normal_map && uv_scale == o.uv_scale + && metallic == o.metallic && roughness == o.roughness + && emissive == o.emissive; + } + }; + struct BatchKeyHash { + size_t operator()(const BatchKey& k) const noexcept { + auto mix = [](size_t a, size_t b) { + return a ^ (b + 0x9e3779b9 + (a << 6) + (a >> 2)); + }; + size_t h = std::hash()((void*)k.primitive); + h = mix(h, std::hash()(k.texture)); + h = mix(h, std::hash()(k.normal_map)); + h = mix(h, std::hash()(k.uv_scale.x)); + h = mix(h, std::hash()(k.uv_scale.y)); + h = mix(h, std::hash()(k.metallic)); + h = mix(h, std::hash()(k.roughness)); + h = mix(h, std::hash()(k.emissive.x)); + h = mix(h, std::hash()(k.emissive.y)); + h = mix(h, std::hash()(k.emissive.z)); + return h; + } + }; + struct CullingBatch { + BatchKey key{}; std::vector modelMatrices; }; - + using CullingResult = std::vector; - - // Helper methods + CullingResult CullObjectsSubset( const std::vector& objects, - size_t startIdx, + size_t startIdx, size_t endIdx, const glm::mat4& viewProjection ); - + void MergeCullingResults( const std::vector& results, - std::unordered_map>& outBatches + std::unordered_map, BatchKeyHash>& outBatches ); static bool CullSphere(const glm::mat4& vp, @@ -149,10 +186,114 @@ protected: // Agent API server AgentAPI agentApi_; std::unordered_map> namedObjects_; + std::unordered_map namedObjectCreationParams_; + glm::vec3 clear_color_ = glm::vec3(0.1f); + + // Physics + phys::World physics_; + std::unordered_map bodyHandleByName_; + void SyncPhysicsWriteback(); + + // Sky / sun + glm::vec3 sun_dir_ = glm::normalize(glm::vec3(-0.35f, 0.9f, -0.25f)); + glm::vec3 sun_color_ = glm::vec3(1.4f, 1.25f, 1.0f); + glm::vec3 sky_color_ = glm::vec3(0.55f, 0.68f, 0.85f); + glm::vec3 zenith_color_ = glm::vec3(0.35f, 0.5f, 0.78f); + glm::vec3 horizon_color_ = glm::vec3(0.75f, 0.82f, 0.92f); + glm::vec3 ground_color_ = glm::vec3(0.22f, 0.20f, 0.18f); + GLuint sky_program_ = 0; + GLuint sky_vao_ = 0; + GLuint sky_vbo_ = 0; + void InitSky(); + void RenderSky(const glm::mat4& view, const glm::mat4& proj); + + // Water + bool water_enabled_ = false; + float water_level_ = 0.0f; + float water_amplitude_ = 0.3f; + float water_wavelength_ = 8.0f; + float water_speed_ = 1.0f; + float water_size_ = 120.0f; + glm::vec3 water_color_shallow_ = glm::vec3(0.25f, 0.55f, 0.6f); + glm::vec3 water_color_deep_ = glm::vec3(0.02f, 0.12f, 0.22f); + GLuint water_program_ = 0; + GLuint water_vao_ = 0; + GLuint water_vbo_ = 0; + GLuint water_ebo_ = 0; + int water_index_count_ = 0; + void InitWater(); + void RebuildWaterMesh(int resolution); + void RenderWater(const glm::mat4& view, const glm::mat4& proj); + + // Secondary water patch — visual-only, localized, at arbitrary height. + // Shares the primary water shader but has its own mesh + per-patch params. + struct SecWater { + bool enabled = false; + glm::vec3 center = glm::vec3(0); + float size = 40.0f; + float level = 5.0f; + float amplitude = 0.08f; + float wavelength = 5.0f; + float speed = 0.6f; + glm::vec3 shallow = glm::vec3(0.35f, 0.55f, 0.6f); + glm::vec3 deep = glm::vec3(0.05f, 0.15f, 0.22f); + GLuint vao = 0, vbo = 0, ebo = 0; + int idx_count = 0; + }; + SecWater sec_water_; + void RebuildSecWaterMesh(int resolution); + void RenderSecWater(const glm::mat4& view, const glm::mat4& proj); + + // Weather — drives wave amplitude, choppiness, sky darkening, current + float wind_speed_ = 0.0f; + glm::vec2 wind_dir_xz_ = glm::vec2(1.0f, 0.0f); // normalized XZ + float storminess_ = 0.0f; // 0 calm, 1 gale + float AmpScale() const { return 1.0f + storminess_ * 2.0f; } + float ChopScale() const { return 1.0f + storminess_ * 1.5f; } + + // Shadow map (directional sun, single cascade) + static constexpr int SHADOW_SIZE = 2048; + GLuint shadow_fbo_ = 0; + GLuint shadow_map_ = 0; + GLuint shadow_program_ = 0; + glm::mat4 light_vp_ = glm::mat4(1.0f); + float shadow_extent_ = 50.0f; // half-width of ortho frustum + void InitShadowMap(); + void RenderShadowPass(); + glm::mat4 ComputeLightVP() const; + + // HDR + post-process pipeline + static constexpr int MSAA_SAMPLES = 4; + GLuint hdr_fbo_ms_ = 0; // multisample render target for scene + GLuint hdr_color_ms_ = 0; + GLuint hdr_depth_rb_ = 0; + GLuint hdr_fbo_ = 0; // resolved single-sample target (read for bloom/composite) + GLuint hdr_color_ = 0; + int post_w_ = 0, post_h_ = 0; // current FBO size, recreate on mismatch + GLuint bloom_fbo_[2] = {0, 0}; + GLuint bloom_tex_[2] = {0, 0}; + int bloom_w_ = 0, bloom_h_ = 0; + GLuint bloom_extract_program_ = 0; + GLuint bloom_blur_program_ = 0; + GLuint composite_program_ = 0; + GLuint fullscreen_vao_ = 0; + // Look controls + float exposure_ = 1.0f; + float bloom_threshold_ = 1.2f; + float bloom_intensity_ = 0.8f; + float fog_density_ = 0.0025f; + void InitPostFBOs(); + void EnsurePostFBOs(); + void InitPostShaders(); + void RenderBloom(); + void CompositeToScreen(); std::string agentLog_; float agentLogTimer_ = 0.0f; void processAgentCommands(); std::string processAgentCommand(const json::Value& cmd); +public: + std::string saveWorldToFile(const std::string& path); + std::string loadWorldFromFile(const std::string& path); @@ -171,6 +312,7 @@ public: virtual GLsizei GetIndexCount() const { return index_count_; } virtual GLsizei GetVertexCount() const { return vertex_count_; } virtual void Bind() const { glBindVertexArray(vao_); } + float GetIntrinsicRadius() const { return intrinsic_radius_; } protected: @@ -181,6 +323,7 @@ protected: GLsizei vertex_count_ = 0; GLenum draw_mode_ = GL_TRIANGLES; glm::vec3 color_; + float intrinsic_radius_ = 1.732f; // default: unit-cube corner-to-center }; // GameObject class @@ -192,6 +335,8 @@ public: float GetBoundingRadius() const; glm::vec3 GetPosition() const { return position_; } + glm::vec3 GetRotation() const { return rotation_; } + glm::vec3 GetScale() const { return scale_; } glm::mat4 GetModelMatrix() const; void Render(); void Cleanup(); @@ -200,9 +345,29 @@ public: void SetRotation(const glm::vec3& r) { rotation_ = r; } void SetScale(const glm::vec3& s) { scale_ = s; } + void SetTexture(GLuint tex) { texture_ = tex; } + GLuint GetTexture() const { return texture_; } + void SetUVScale(const glm::vec2& s) { uv_scale_ = s; } + glm::vec2 GetUVScale() const { return uv_scale_; } + + void SetNormalMap(GLuint tex) { normal_map_ = tex; } + GLuint GetNormalMap() const { return normal_map_; } + void SetMetallic(float v) { metallic_ = v; } + float GetMetallic() const { return metallic_; } + void SetRoughness(float v) { roughness_ = std::max(0.02f, v); } + float GetRoughness() const { return roughness_; } + void SetEmissive(const glm::vec3& v) { emissive_ = v; } + glm::vec3 GetEmissive() const { return emissive_; } + private: std::shared_ptr primitive_; glm::vec3 position_; glm::vec3 rotation_; glm::vec3 scale_{1.0f}; + GLuint texture_ = 0; + GLuint normal_map_ = 0; + glm::vec2 uv_scale_{1.0f}; + float metallic_ = 0.0f; + float roughness_ = 0.7f; + glm::vec3 emissive_ = glm::vec3(0.0f); }; diff --git a/src/Physics.cpp b/src/Physics.cpp new file mode 100644 index 0000000..bff44c8 --- /dev/null +++ b/src/Physics.cpp @@ -0,0 +1,762 @@ +#include "Physics.h" +#include +#include +#include + +namespace phys { + +namespace { + +constexpr float kSleepLinearSq = 0.05f * 0.05f; +constexpr float kSleepAngularSq = 0.1f * 0.1f; +constexpr float kSleepTime = 0.5f; +constexpr float kPenetrationSlop = 0.005f; +constexpr float kBaumgarte = 0.2f; + +// --- Small helpers ------------------------------------------------------- + +glm::mat3 BoxInertiaTensor(float mass, const glm::vec3& h) { + // h = half-extents; full size = 2h. + float x2 = (2.0f * h.x) * (2.0f * h.x); + float y2 = (2.0f * h.y) * (2.0f * h.y); + float z2 = (2.0f * h.z) * (2.0f * h.z); + float k = mass / 12.0f; + return glm::mat3( + k * (y2 + z2), 0.0f, 0.0f, + 0.0f, k * (x2 + z2), 0.0f, + 0.0f, 0.0f, k * (x2 + y2) + ); +} + +glm::mat3 SphereInertiaTensor(float mass, float radius) { + float v = (2.0f / 5.0f) * mass * radius * radius; + return glm::mat3(v, 0, 0, 0, v, 0, 0, 0, v); +} + +glm::mat3 Inverse3(const glm::mat3& m) { + // glm::inverse handles this, but we keep local to make zero-diag safe. + glm::mat3 r(0.0f); + if (m[0][0] > 0) r[0][0] = 1.0f / m[0][0]; + if (m[1][1] > 0) r[1][1] = 1.0f / m[1][1]; + if (m[2][2] > 0) r[2][2] = 1.0f / m[2][2]; + return r; +} + +void RecomputeInvInertiaWorld(Body& b) { + if (b.is_static || b.inv_mass == 0.0f) { + b.inv_inertia_world = glm::mat3(0.0f); + return; + } + glm::mat3 R = glm::mat3_cast(b.orientation); + b.inv_inertia_world = R * b.inv_inertia_local * glm::transpose(R); +} + +void ComputeBasis(const glm::vec3& n, glm::vec3& t1, glm::vec3& t2) { + if (std::abs(n.x) >= 0.57735f) + t1 = glm::normalize(glm::vec3(n.y, -n.x, 0.0f)); + else + t1 = glm::normalize(glm::vec3(0.0f, n.z, -n.y)); + t2 = glm::cross(n, t1); +} + +glm::vec3 VelAtPoint(const Body& b, const glm::vec3& r) { + return b.linear_velocity + glm::cross(b.angular_velocity, r); +} + +// --- Collision tests ----------------------------------------------------- + +// Returns support point of an OBB in world space along direction d. +glm::vec3 BoxSupport(const Body& box, const glm::vec3& d) { + glm::mat3 R = glm::mat3_cast(box.orientation); + glm::vec3 ld = glm::transpose(R) * d; + glm::vec3 lp( + ld.x >= 0 ? box.half_extents.x : -box.half_extents.x, + ld.y >= 0 ? box.half_extents.y : -box.half_extents.y, + ld.z >= 0 ? box.half_extents.z : -box.half_extents.z + ); + return box.position + R * lp; +} + +} // namespace + +int World::AddBody(const Body& b) { + int handle = (int)bodies_.size(); + bodies_.push_back(b); + Body& nb = bodies_.back(); + nb.handle = handle; + nb.alive = true; + + if (nb.is_static) nb.inv_mass = 0.0f; + + if (nb.shape == Shape::Sphere && nb.inv_mass > 0.0f) { + float mass = 1.0f / nb.inv_mass; + nb.inv_inertia_local = Inverse3(SphereInertiaTensor(mass, nb.half_extents.x)); + } else if (nb.shape == Shape::Box && nb.inv_mass > 0.0f) { + float mass = 1.0f / nb.inv_mass; + nb.inv_inertia_local = Inverse3(BoxInertiaTensor(mass, nb.half_extents)); + } else { + nb.inv_inertia_local = glm::mat3(0.0f); + } + RecomputeInvInertiaWorld(nb); + return handle; +} + +void World::RemoveBody(int handle) { + if (handle < 0 || handle >= (int)bodies_.size()) return; + bodies_[handle].alive = false; +} + +Body* World::Get(int handle) { + if (handle < 0 || handle >= (int)bodies_.size()) return nullptr; + return bodies_[handle].alive ? &bodies_[handle] : nullptr; +} +const Body* World::Get(int handle) const { + if (handle < 0 || handle >= (int)bodies_.size()) return nullptr; + return bodies_[handle].alive ? &bodies_[handle] : nullptr; +} + +void World::Step(float real_dt) { + if (!enabled) return; + if (real_dt > 0.25f) real_dt = 0.25f; // avoid spiral of death + accumulator_ += real_dt; + while (accumulator_ >= fixed_dt) { + IntegrateForces(fixed_dt); + DetectCollisions(); + PrepareSolver(fixed_dt); + WarmStart(); + for (int i = 0; i < solver_iterations; ++i) SolveVelocities(); + IntegrateVelocities(fixed_dt); + UpdateSleep(fixed_dt); + prev_contacts_ = contacts_; + accumulator_ -= fixed_dt; + } +} + +void World::IntegrateForces(float dt) { + static const int kBoxSigns[8][3] = { + {-1,-1,-1},{ 1,-1,-1},{-1, 1,-1},{ 1, 1,-1}, + {-1,-1, 1},{ 1,-1, 1},{-1, 1, 1},{ 1, 1, 1} + }; + + for (auto& b : bodies_) { + if (!b.alive || b.is_static || b.inv_mass == 0.0f) continue; + if (b.sleeping) continue; + + glm::vec3 net_accel = gravity + b.force_accum * b.inv_mass; + glm::vec3 total_torque = b.torque_accum; + float submerged_frac_agg = 0.0f; + + if (water_enabled && b.shape != Shape::Plane) { + if (b.shape == Shape::Sphere) { + float r = b.half_extents.x; + float wy = SampleWaterY(b.position.x, b.position.z); + float d = wy - (b.position.y - r); + if (d > 0.0f) { + float h = std::min(d, 2.0f * r); + float cap_vol = glm::pi() * h * h * (3.0f * r - h) / 3.0f; + float full_vol = (4.0f / 3.0f) * glm::pi() * r * r * r; + float frac = cap_vol / full_vol; + net_accel += -gravity * water_density * frac; + submerged_frac_agg = frac; + } + } else { // Box — sample 8 corners against the wave surface + glm::mat3 R = glm::mat3_cast(b.orientation); + float body_mass = 1.0f / b.inv_mass; + glm::vec3 total_force(0.0f); + float diag_y = 2.0f * b.half_extents.y; + int submerged_count = 0; + for (int i = 0; i < 8; ++i) { + glm::vec3 local = b.half_extents * + glm::vec3(kBoxSigns[i][0], kBoxSigns[i][1], kBoxSigns[i][2]); + glm::vec3 corner = b.position + R * local; + float wy = SampleWaterY(corner.x, corner.z); + float d = wy - corner.y; + if (d <= 0.0f) continue; + ++submerged_count; + float frac = std::min(1.0f, d / diag_y); + submerged_frac_agg += frac / 8.0f; + glm::vec3 accel_i = -gravity * water_density * (frac / 8.0f); + glm::vec3 force_i = accel_i * body_mass; + glm::vec3 r = corner - b.position; + total_force += force_i; + total_torque += glm::cross(r, force_i); + } + net_accel += total_force * b.inv_mass; + (void)submerged_count; + } + + // Surface current from wind + if (submerged_frac_agg > 0.0f && wind_speed > 0.0f) { + glm::vec3 wind3(wind_dir_xz.x, 0.0f, wind_dir_xz.y); + float lw = glm::length(wind3); + if (lw > 1e-5f) wind3 /= lw; + net_accel += wind3 * wind_speed * current_coef * submerged_frac_agg; + } + // Directional water flow (rivers, waterfalls) + if (submerged_frac_agg > 0.0f && water_flow_speed > 0.0f) { + glm::vec3 flow3(water_flow_dir.x, 0.0f, water_flow_dir.y); + float lf = glm::length(flow3); + if (lf > 1e-5f) flow3 /= lf; + net_accel += flow3 * water_flow_speed * submerged_frac_agg; + } + + if (submerged_frac_agg > 0.0f) { + b.linear_velocity *= std::max(0.0f, + 1.0f - water_drag_linear * submerged_frac_agg * dt); + b.angular_velocity *= std::max(0.0f, + 1.0f - water_drag_angular * submerged_frac_agg * dt); + } + } + + b.linear_velocity += net_accel * dt; + b.angular_velocity += b.inv_inertia_world * total_torque * dt; + b.linear_velocity *= std::max(0.0f, 1.0f - b.linear_damping * dt); + b.angular_velocity *= std::max(0.0f, 1.0f - b.angular_damping * dt); + b.force_accum = glm::vec3(0.0f); + b.torque_accum = glm::vec3(0.0f); + } +} + +float World::SampleWaterY(float x, float z) const { + // MUST stay in sync with the water vertex shader's Gerstner arrays. + static const float DIRS[10][2] = { + { 1.00f, 0.00f}, + { 0.71f, -0.71f}, + {-0.41f, 0.91f}, + {-0.85f, -0.52f}, + { 0.30f, 0.95f}, + { 0.88f, 0.47f}, + {-0.94f, 0.33f}, + { 0.60f, -0.80f}, + {-0.15f, -0.99f}, + { 0.43f, 0.90f} + }; + static const float AMP_SCALE[10] = { + 0.70f, 0.46f, 0.32f, 0.25f, 0.18f, 0.14f, 0.11f, 0.08f, 0.06f, 0.05f }; + static const float LEN_SCALE[10] = { + 1.00f, 0.77f, 0.59f, 0.46f, 0.36f, 0.28f, 0.22f, 0.17f, 0.13f, 0.10f }; + static const float SPEED_SCALE[10] = { + 1.00f, 1.23f, 0.82f, 1.37f, 0.91f, 1.19f, 0.75f, 1.48f, 1.07f, 0.88f }; + float y = water_level; + for (int i = 0; i < 10; ++i) { + float dx = DIRS[i][0], dz = DIRS[i][1]; + float nrm = std::sqrt(dx * dx + dz * dz); + dx /= nrm; dz /= nrm; + float L = water_wavelength * LEN_SCALE[i]; + float w = 2.0f * glm::pi() / L; + float A = water_amplitude * AMP_SCALE[i] * water_amp_scale; + float phi = water_time * water_speed * SPEED_SCALE[i] * std::sqrt(9.81f * w); + float theta = (dx * x + dz * z) * w + phi; + y += A * std::sin(theta); + } + return y; +} + +void World::DetectCollisions() { + contacts_.clear(); + const int n = (int)bodies_.size(); + for (int i = 0; i < n; ++i) { + if (!bodies_[i].alive) continue; + for (int j = i + 1; j < n; ++j) { + if (!bodies_[j].alive) continue; + const Body& A = bodies_[i]; + const Body& B = bodies_[j]; + if (A.is_static && B.is_static) continue; + if (A.sleeping && B.sleeping) continue; + TestPair(i, j); + } + } +} + +void World::TestPair(int ia, int ib) { + const Body& A = bodies_[ia]; + const Body& B = bodies_[ib]; + // Normalize ordering so Sphere is always 'a' for asymmetric pairs. + auto swap01 = [](Shape s0, Shape s1) { + return std::make_pair(s0, s1); + }; + auto [sa, sb] = swap01(A.shape, B.shape); + + if (sa == Shape::Sphere && sb == Shape::Sphere) { + SphereSphere(A, B, ia, ib); + } else if (sa == Shape::Sphere && sb == Shape::Plane) { + SpherePlane(A, B, ia, ib); + } else if (sa == Shape::Plane && sb == Shape::Sphere) { + SpherePlane(B, A, ib, ia); + } else if (sa == Shape::Sphere && sb == Shape::Box) { + SphereBox(A, B, ia, ib); + } else if (sa == Shape::Box && sb == Shape::Sphere) { + SphereBox(B, A, ib, ia); + } else if (sa == Shape::Box && sb == Shape::Plane) { + BoxPlane(A, B, ia, ib); + } else if (sa == Shape::Plane && sb == Shape::Box) { + BoxPlane(B, A, ib, ia); + } else if (sa == Shape::Box && sb == Shape::Box) { + BoxBox(A, B, ia, ib); + } + // Plane-plane intentionally skipped. +} + +void World::SphereSphere(const Body& A, const Body& B, int ia, int ib) { + glm::vec3 d = B.position - A.position; + float r = A.half_extents.x + B.half_extents.x; + float d2 = glm::dot(d, d); + if (d2 >= r * r) return; + float dist = std::sqrt(std::max(d2, 1e-12f)); + glm::vec3 n = (dist > 1e-6f) ? d / dist : glm::vec3(0.0f, 1.0f, 0.0f); + Contact c; + c.a = ia; c.b = ib; + c.normal = n; + c.penetration = r - dist; + c.point = A.position + n * A.half_extents.x; + contacts_.push_back(c); +} + +void World::SpherePlane(const Body& s, const Body& p, int is, int ip) { + float d = glm::dot(p.plane_normal, s.position) - p.plane_offset; + float pen = s.half_extents.x - d; + if (pen <= 0.0f) return; + Contact c; + c.a = is; c.b = ip; + c.normal = -p.plane_normal; // A (sphere) → B (plane) + c.penetration = pen; + c.point = s.position - p.plane_normal * s.half_extents.x; + contacts_.push_back(c); +} + +void World::SphereBox(const Body& s, const Body& box, int is, int ib) { + glm::mat3 R = glm::mat3_cast(box.orientation); + glm::vec3 rel = glm::transpose(R) * (s.position - box.position); + glm::vec3 closest = glm::clamp(rel, -box.half_extents, box.half_extents); + glm::vec3 diff = rel - closest; + float d2 = glm::dot(diff, diff); + float r = s.half_extents.x; + if (d2 >= r * r) return; + + glm::vec3 n_local; + float dist; + if (d2 > 1e-12f) { + dist = std::sqrt(d2); + n_local = diff / dist; + } else { + // Sphere center inside box — pick axis of minimum penetration. + glm::vec3 pen_axes = box.half_extents - glm::abs(rel); + if (pen_axes.x < pen_axes.y && pen_axes.x < pen_axes.z) { + n_local = glm::vec3(rel.x < 0 ? -1.0f : 1.0f, 0, 0); + dist = -pen_axes.x; + } else if (pen_axes.y < pen_axes.z) { + n_local = glm::vec3(0, rel.y < 0 ? -1.0f : 1.0f, 0); + dist = -pen_axes.y; + } else { + n_local = glm::vec3(0, 0, rel.z < 0 ? -1.0f : 1.0f); + dist = -pen_axes.z; + } + } + + glm::vec3 n_world = R * n_local; // points from box toward sphere center + glm::vec3 contact_world = box.position + R * closest; + + Contact c; + // Our convention: normal points from A(sphere) toward B(box) + // If is < ib our 'a' is the sphere. But caller may pass s as 'A' regardless + // of handle order. We push what DetectCollisions expects using (is, ib). + c.a = is; + c.b = ib; + c.normal = -n_world; // sphere -> box + c.penetration = r - dist; + c.point = contact_world; + contacts_.push_back(c); +} + +void World::BoxPlane(const Body& box, const Body& p, int ib, int ip) { + glm::mat3 R = glm::mat3_cast(box.orientation); + // For each of 8 vertices, test against plane. Push contact per-penetrating. + static const glm::vec3 kSigns[8] = { + {-1,-1,-1},{ 1,-1,-1},{-1, 1,-1},{ 1, 1,-1}, + {-1,-1, 1},{ 1,-1, 1},{-1, 1, 1},{ 1, 1, 1} + }; + int added = 0; + for (int i = 0; i < 8; ++i) { + glm::vec3 lp = box.half_extents * kSigns[i]; + glm::vec3 wp = box.position + R * lp; + float d = glm::dot(p.plane_normal, wp) - p.plane_offset; + if (d < 0.0f) { + Contact c; + c.a = ib; c.b = ip; + c.normal = -p.plane_normal; // box -> plane + c.penetration = -d; + c.point = wp; + contacts_.push_back(c); + if (++added >= 4) break; // manifold cap + } + } +} + +// --- SAT Box-Box --------------------------------------------------------- +namespace { + +struct BoxAxes { + glm::vec3 c; + glm::vec3 u[3]; // world-space basis columns of R (unit length) + glm::vec3 h; // half-extents +}; + +BoxAxes MakeAxes(const Body& box) { + BoxAxes out; + out.c = box.position; + glm::mat3 R = glm::mat3_cast(box.orientation); + out.u[0] = R[0]; out.u[1] = R[1]; out.u[2] = R[2]; + out.h = box.half_extents; + return out; +} + +float ProjectOBB(const BoxAxes& a, const glm::vec3& axis) { + return a.h.x * std::abs(glm::dot(a.u[0], axis)) + + a.h.y * std::abs(glm::dot(a.u[1], axis)) + + a.h.z * std::abs(glm::dot(a.u[2], axis)); +} + +// Clip polygon by half-space n·x <= d (returns clipped vertices). +std::vector ClipPoly(const std::vector& in, + const glm::vec3& n, float d) { + std::vector out; + out.reserve(in.size() + 1); + if (in.empty()) return out; + for (size_t i = 0; i < in.size(); ++i) { + const glm::vec3& cur = in[i]; + const glm::vec3& prev = in[(i + in.size() - 1) % in.size()]; + float dc = glm::dot(n, cur) - d; + float dp = glm::dot(n, prev) - d; + bool cur_in = dc <= 0.0f; + bool prev_in = dp <= 0.0f; + if (prev_in ^ cur_in) { + float t = dp / (dp - dc); + out.push_back(prev + (cur - prev) * t); + } + if (cur_in) out.push_back(cur); + } + return out; +} + +} // namespace + +void World::BoxBox(const Body& A, const Body& B, int ia, int ib) { + BoxAxes a = MakeAxes(A); + BoxAxes b = MakeAxes(B); + + glm::vec3 t = b.c - a.c; + + // Build matrix of dot products between A and B axes. + float Rm[3][3], AbsR[3][3]; + const float kEps = 1e-6f; + for (int i = 0; i < 3; ++i) + for (int j = 0; j < 3; ++j) { + Rm[i][j] = glm::dot(a.u[i], b.u[j]); + AbsR[i][j] = std::abs(Rm[i][j]) + kEps; + } + + float t_a[3] = { + glm::dot(t, a.u[0]), glm::dot(t, a.u[1]), glm::dot(t, a.u[2]) + }; + + float best_overlap = std::numeric_limits::max(); + int best_axis_type = -1; // 0=A face, 1=B face, 2=edge cross + int best_axis_index = 0; // face index, or i*3+j for edge + float best_sign = 1.0f; // axis direction sign toward B + glm::vec3 best_axis(0.0f); + + auto TestAxis = [&](const glm::vec3& L, float ra, float rb, float center_dist, + int type, int index) { + float len = glm::length(L); + if (len < 1e-8f) return true; // parallel edges; skip + float overlap = (ra + rb) - std::abs(center_dist); + if (overlap < 0.0f) return false; + // Normalize overlap per-axis so face axes compete fairly with edge axes. + float o_norm = overlap / len; + if (o_norm < best_overlap) { + best_overlap = o_norm; + best_axis_type = type; + best_axis_index = index; + best_axis = L / len; + best_sign = (center_dist < 0) ? -1.0f : 1.0f; + } + return true; + }; + + // A's face axes + for (int i = 0; i < 3; ++i) { + float ra = a.h[i]; + float rb = b.h.x * AbsR[i][0] + b.h.y * AbsR[i][1] + b.h.z * AbsR[i][2]; + if (!TestAxis(a.u[i], ra, rb, t_a[i], 0, i)) return; + } + // B's face axes + for (int j = 0; j < 3; ++j) { + float ra = a.h.x * AbsR[0][j] + a.h.y * AbsR[1][j] + a.h.z * AbsR[2][j]; + float rb = b.h[j]; + float dist = glm::dot(t, b.u[j]); + if (!TestAxis(b.u[j], ra, rb, dist, 1, j)) return; + } + // 9 edge-edge axes + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < 3; ++j) { + glm::vec3 L = glm::cross(a.u[i], b.u[j]); + int i1 = (i + 1) % 3, i2 = (i + 2) % 3; + int j1 = (j + 1) % 3, j2 = (j + 2) % 3; + float ra = a.h[i1] * AbsR[i2][j] + a.h[i2] * AbsR[i1][j]; + float rb = b.h[j1] * AbsR[i][j2] + b.h[j2] * AbsR[i][j1]; + float dist = t_a[i2] * Rm[i1][j] - t_a[i1] * Rm[i2][j]; + if (!TestAxis(L, ra, rb, dist, 2, i * 3 + j)) return; + } + } + + if (best_axis_type < 0) return; + + // Ensure normal points from A to B. + glm::vec3 n = best_axis * best_sign; + if (glm::dot(n, t) < 0.0f) n = -n; + + // Face-face manifold via Sutherland–Hodgman clipping. + if (best_axis_type == 0 || best_axis_type == 1) { + const BoxAxes& ref = (best_axis_type == 0) ? a : b; + const BoxAxes& inc = (best_axis_type == 0) ? b : a; + glm::vec3 refN = (best_axis_type == 0) ? n : -n; // points outward from ref + + // Reference face: the one whose outward normal = refN (one of ±ref.u[k]) + int ref_k = 0; + float best_dot = -std::numeric_limits::max(); + float ref_sign = 1.0f; + for (int k = 0; k < 3; ++k) { + float d0 = glm::dot(ref.u[k], refN); + if (std::abs(d0) > best_dot) { + best_dot = std::abs(d0); + ref_k = k; + ref_sign = (d0 >= 0) ? 1.0f : -1.0f; + } + } + glm::vec3 refAxis = ref.u[ref_k] * ref_sign; + glm::vec3 refCenter = ref.c + refAxis * ref.h[ref_k]; + + // Incident face: pick incident box face whose normal is most opposite refAxis. + int inc_k = 0; + float min_dot = std::numeric_limits::max(); + float inc_sign = 1.0f; + for (int k = 0; k < 3; ++k) { + float d0 = glm::dot(inc.u[k], refAxis); + if (d0 < min_dot) { + min_dot = d0; + inc_k = k; inc_sign = 1.0f; + } + if (-d0 < min_dot) { + min_dot = -d0; + inc_k = k; inc_sign = -1.0f; + } + } + + // Build the incident face as 4 world-space vertices. + int u = (inc_k + 1) % 3; + int v = (inc_k + 2) % 3; + glm::vec3 inc_center = inc.c + inc.u[inc_k] * (inc.h[inc_k] * inc_sign); + glm::vec3 inc_u = inc.u[u] * inc.h[u]; + glm::vec3 inc_v = inc.u[v] * inc.h[v]; + std::vector poly = { + inc_center - inc_u - inc_v, + inc_center + inc_u - inc_v, + inc_center + inc_u + inc_v, + inc_center - inc_u + inc_v + }; + + // Clip against the 4 side planes of the reference face. + int ru = (ref_k + 1) % 3; + int rv = (ref_k + 2) % 3; + glm::vec3 side_axes[4] = { ref.u[ru], -ref.u[ru], ref.u[rv], -ref.u[rv] }; + float side_d[4] = { + glm::dot(ref.u[ru], refCenter) + ref.h[ru], + -glm::dot(ref.u[ru], refCenter) + ref.h[ru], + glm::dot(ref.u[rv], refCenter) + ref.h[rv], + -glm::dot(ref.u[rv], refCenter) + ref.h[rv] + }; + for (int s = 0; s < 4; ++s) + poly = ClipPoly(poly, side_axes[s], side_d[s]); + + // Emit penetrating points (those behind the reference face plane). + int emitted = 0; + for (const auto& p : poly) { + float d = glm::dot(refAxis, p - refCenter); + if (d > 0.0f) continue; + Contact c; + c.a = ia; c.b = ib; + c.normal = n; + c.penetration = -d; + c.point = p; + contacts_.push_back(c); + if (++emitted >= 4) break; + } + if (emitted == 0) { + // Fallback: single-point contact at deepest witness along n. + glm::vec3 pA = BoxSupport(A, n); + glm::vec3 pB = BoxSupport(B, -n); + Contact c; + c.a = ia; c.b = ib; + c.normal = n; + c.penetration = best_overlap; + c.point = 0.5f * (pA + pB); + contacts_.push_back(c); + } + } else { + // Edge-edge — approximate with midpoint of nearest-point pair. + glm::vec3 pA = BoxSupport(A, n); + glm::vec3 pB = BoxSupport(B, -n); + Contact c; + c.a = ia; c.b = ib; + c.normal = n; + c.penetration = best_overlap; + c.point = 0.5f * (pA + pB); + contacts_.push_back(c); + } +} + +// --- Solver -------------------------------------------------------------- + +void World::PrepareSolver(float dt) { + for (auto& b : bodies_) if (b.alive) RecomputeInvInertiaWorld(b); + + const float kMatchR2 = 0.04f * 0.04f; // 4cm point-match radius + + for (auto& c : contacts_) { + Body& A = bodies_[c.a]; + Body& B = bodies_[c.b]; + c.rA = c.point - A.position; + c.rB = c.point - B.position; + ComputeBasis(c.normal, c.tangent1, c.tangent2); + + auto EffMass = [&](const glm::vec3& axis) { + glm::vec3 rA_x_n = glm::cross(c.rA, axis); + glm::vec3 rB_x_n = glm::cross(c.rB, axis); + float m = A.inv_mass + B.inv_mass + + glm::dot(rA_x_n, A.inv_inertia_world * rA_x_n) + + glm::dot(rB_x_n, B.inv_inertia_world * rB_x_n); + return m > 0.0f ? 1.0f / m : 0.0f; + }; + + c.normal_mass = EffMass(c.normal); + c.tangent_mass1 = EffMass(c.tangent1); + c.tangent_mass2 = EffMass(c.tangent2); + + // Baumgarte positional bias. + float pen = std::max(0.0f, c.penetration - kPenetrationSlop); + c.bias = -(kBaumgarte / dt) * pen; + + // Restitution bias: closing velocity × restitution, only if significant. + glm::vec3 rv = VelAtPoint(B, c.rB) - VelAtPoint(A, c.rA); + float rv_n = glm::dot(rv, c.normal); + float e = std::min(A.restitution, B.restitution); + if (rv_n < -1.0f) c.bias += e * rv_n; + + // Warm-start: find a prior contact on the same pair at a nearby point. + c.normal_impulse = 0.0f; + c.tangent_impulse1 = 0.0f; + c.tangent_impulse2 = 0.0f; + for (const auto& pc : prev_contacts_) { + if (pc.a != c.a || pc.b != c.b) continue; + glm::vec3 d = pc.point - c.point; + if (glm::dot(d, d) < kMatchR2) { + c.normal_impulse = pc.normal_impulse; + c.tangent_impulse1 = pc.tangent_impulse1; + c.tangent_impulse2 = pc.tangent_impulse2; + break; + } + } + } +} + +void World::WarmStart() { + for (auto& c : contacts_) { + Body& A = bodies_[c.a]; + Body& B = bodies_[c.b]; + glm::vec3 P = c.normal * c.normal_impulse + + c.tangent1 * c.tangent_impulse1 + + c.tangent2 * c.tangent_impulse2; + A.linear_velocity -= P * A.inv_mass; + A.angular_velocity -= A.inv_inertia_world * glm::cross(c.rA, P); + B.linear_velocity += P * B.inv_mass; + B.angular_velocity += B.inv_inertia_world * glm::cross(c.rB, P); + } +} + +void World::SolveVelocities() { + for (auto& c : contacts_) { + Body& A = bodies_[c.a]; + Body& B = bodies_[c.b]; + + auto ApplyImpulse = [&](const glm::vec3& axis, float lambda) { + glm::vec3 P = axis * lambda; + A.linear_velocity -= P * A.inv_mass; + A.angular_velocity -= A.inv_inertia_world * glm::cross(c.rA, P); + B.linear_velocity += P * B.inv_mass; + B.angular_velocity += B.inv_inertia_world * glm::cross(c.rB, P); + }; + + // Tangents first so friction is proportional to final normal impulse. + { + glm::vec3 rv = VelAtPoint(B, c.rB) - VelAtPoint(A, c.rA); + float mu = std::sqrt(A.friction * B.friction); + float max_fric = mu * c.normal_impulse; + + float rv_t1 = glm::dot(rv, c.tangent1); + float lambda1 = -rv_t1 * c.tangent_mass1; + float new_imp1 = std::clamp(c.tangent_impulse1 + lambda1, -max_fric, max_fric); + lambda1 = new_imp1 - c.tangent_impulse1; + c.tangent_impulse1 = new_imp1; + ApplyImpulse(c.tangent1, lambda1); + + rv = VelAtPoint(B, c.rB) - VelAtPoint(A, c.rA); + float rv_t2 = glm::dot(rv, c.tangent2); + float lambda2 = -rv_t2 * c.tangent_mass2; + float new_imp2 = std::clamp(c.tangent_impulse2 + lambda2, -max_fric, max_fric); + lambda2 = new_imp2 - c.tangent_impulse2; + c.tangent_impulse2 = new_imp2; + ApplyImpulse(c.tangent2, lambda2); + } + + // Normal impulse + glm::vec3 rv = VelAtPoint(B, c.rB) - VelAtPoint(A, c.rA); + float rv_n = glm::dot(rv, c.normal); + float lambda = -(rv_n + c.bias) * c.normal_mass; + float new_imp = std::max(0.0f, c.normal_impulse + lambda); + lambda = new_imp - c.normal_impulse; + c.normal_impulse = new_imp; + ApplyImpulse(c.normal, lambda); + } +} + +void World::IntegrateVelocities(float dt) { + for (auto& b : bodies_) { + if (!b.alive || b.is_static || b.inv_mass == 0.0f) continue; + if (b.sleeping) continue; + b.position += b.linear_velocity * dt; + glm::quat w(0.0f, b.angular_velocity.x, b.angular_velocity.y, b.angular_velocity.z); + glm::quat dq = 0.5f * w * b.orientation; + b.orientation = glm::normalize(b.orientation + dq * dt); + } +} + +void World::UpdateSleep(float dt) { + for (auto& b : bodies_) { + if (!b.alive || b.is_static || b.inv_mass == 0.0f) continue; + float lin2 = glm::dot(b.linear_velocity, b.linear_velocity); + float ang2 = glm::dot(b.angular_velocity, b.angular_velocity); + if (lin2 < kSleepLinearSq && ang2 < kSleepAngularSq) { + b.sleep_timer += dt; + if (b.sleep_timer >= kSleepTime) { + b.sleeping = true; + b.linear_velocity = glm::vec3(0.0f); + b.angular_velocity = glm::vec3(0.0f); + } + } else { + b.sleep_timer = 0.0f; + b.sleeping = false; + } + } +} + +} // namespace phys diff --git a/src/Physics.h b/src/Physics.h new file mode 100644 index 0000000..a271bf8 --- /dev/null +++ b/src/Physics.h @@ -0,0 +1,136 @@ +#pragma once +#include +#include +#include +#include +#include + +// Hand-rolled rigid-body physics — sequential-impulse solver, SAT boxes. +// V1 shapes: Sphere, Box (OBB), Plane (infinite, static-only). + +namespace phys { + +enum class Shape : uint8_t { Sphere, Box, Plane }; + +struct Body { + Shape shape = Shape::Sphere; + + // Sphere: half_extents.x = radius (y, z unused). + // Box: half_extents = half-widths along local X/Y/Z. + // Plane: plane_normal + plane_offset define n·x = offset. + glm::vec3 half_extents{0.5f}; + glm::vec3 plane_normal{0.0f, 1.0f, 0.0f}; + float plane_offset = 0.0f; + + glm::vec3 position{0.0f}; + glm::quat orientation{1.0f, 0.0f, 0.0f, 0.0f}; + glm::vec3 linear_velocity{0.0f}; + glm::vec3 angular_velocity{0.0f}; + glm::vec3 force_accum{0.0f}; + glm::vec3 torque_accum{0.0f}; + + float inv_mass = 1.0f; // 0 => static or kinematic + glm::mat3 inv_inertia_local{0.0f}; // diag in local space + glm::mat3 inv_inertia_world{0.0f}; // cached each step + + float restitution = 0.2f; + float friction = 0.5f; + float linear_damping = 0.02f; + float angular_damping = 0.05f; + + bool is_static = false; + bool sleeping = false; + float sleep_timer = 0.0f; + + bool alive = true; + int handle = -1; // stable handle = index into world.bodies_ +}; + +struct Contact { + int a = -1; + int b = -1; + glm::vec3 point{0.0f}; // world-space contact point + glm::vec3 normal{0.0f, 1.0f, 0.0f}; // from A toward B + float penetration = 0.0f; + + // Solver scratch (recomputed each step) + glm::vec3 rA{0.0f}, rB{0.0f}; // offsets from COM to point + glm::vec3 tangent1{0.0f}, tangent2{0.0f}; + float normal_mass = 0.0f; + float tangent_mass1 = 0.0f; + float tangent_mass2 = 0.0f; + float bias = 0.0f; + float normal_impulse = 0.0f; + float tangent_impulse1 = 0.0f; + float tangent_impulse2 = 0.0f; +}; + +class World { +public: + glm::vec3 gravity{0.0f, -9.81f, 0.0f}; + float fixed_dt = 1.0f / 60.0f; + int solver_iterations = 8; + bool enabled = false; + + // Water: buoyancy samples the actual Gerstner wave surface each step. + bool water_enabled = false; + float water_level = 0.0f; + float water_amplitude = 0.3f; + float water_wavelength = 8.0f; + float water_speed = 1.0f; + float water_time = 0.0f; // pushed from Engine each frame + float water_amp_scale = 1.0f; // storminess multiplier + float water_density = 1.0f; + float water_drag_linear = 1.5f; + float water_drag_angular = 0.8f; + + // Wind-driven surface current (applied to submerged bodies). + glm::vec2 wind_dir_xz = glm::vec2(1.0f, 0.0f); + float wind_speed = 0.0f; + float current_coef = 0.6f; + + // Directional water flow (independent of wind — rivers, waterfalls). + glm::vec2 water_flow_dir = glm::vec2(0.0f, 0.0f); + float water_flow_speed = 0.0f; + + // Gerstner sampler — mirrors the water shader exactly. + float SampleWaterY(float x, float z) const; + + int AddBody(const Body& b); + void RemoveBody(int handle); + Body* Get(int handle); + const Body* Get(int handle) const; + + // Drives the fixed-timestep loop. Call each frame with real delta. + void Step(float real_dt); + + // Iterate live bodies; callback receives handle and body ref. + template + void ForEach(F&& fn) { + for (auto& b : bodies_) if (b.alive) fn(b.handle, b); + } + +private: + std::vector bodies_; + std::vector contacts_; + std::vector prev_contacts_; // for warm-starting across frames + float accumulator_ = 0.0f; + + void IntegrateForces(float dt); + void DetectCollisions(); + void WarmStart(); + void PrepareSolver(float dt); + void SolveVelocities(); + void IntegrateVelocities(float dt); + void UpdateSleep(float dt); + + // Pairwise tests that push contacts into contacts_. + void TestPair(int ia, int ib); + void SpherePlane(const Body& s, const Body& p, int is, int ip); + void SphereSphere(const Body& a, const Body& b, int ia, int ib); + void SphereBox(const Body& s, const Body& box, int is, int ib); + void BoxPlane(const Body& box, const Body& p, int ib, int ip); + void BoxBox(const Body& a, const Body& b, int ia, int ib); +}; + +} // namespace phys diff --git a/src/TextureCache.cpp b/src/TextureCache.cpp new file mode 100644 index 0000000..cb4320a --- /dev/null +++ b/src/TextureCache.cpp @@ -0,0 +1,261 @@ +#include "TextureCache.h" +#include "SimpleTextureLoader.h" +#include +#include +#include +#include +#include + +std::unordered_map TextureCache::cache_; + +namespace { + +// Deterministic value noise ---------------------------------------------- +uint32_t hash32(uint32_t x) { + x ^= x >> 16; x *= 0x7feb352du; + x ^= x >> 15; x *= 0x846ca68bu; + x ^= x >> 16; + return x; +} +float hashf(int x, int y, uint32_t seed = 0) { + uint32_t h = hash32((uint32_t)x * 374761393u + (uint32_t)y * 668265263u + seed); + return (h & 0xffffff) / float(0xffffff); +} +float smooth(float t) { return t * t * (3.0f - 2.0f * t); } +float noise2D(float x, float y, uint32_t seed = 0) { + int xi = (int)std::floor(x), yi = (int)std::floor(y); + float xf = x - xi, yf = y - yi; + float a = hashf(xi, yi, seed); + float b = hashf(xi + 1, yi, seed); + float c = hashf(xi, yi + 1, seed); + float d = hashf(xi + 1, yi + 1, seed); + float u = smooth(xf), v = smooth(yf); + return (1 - u) * (1 - v) * a + u * (1 - v) * b + + (1 - u) * v * c + u * v * d; +} +float fbm(float x, float y, int octaves, uint32_t seed = 0) { + float total = 0, amp = 1, sum = 0; + for (int i = 0; i < octaves; ++i) { + total += noise2D(x, y, seed + i * 7919u) * amp; + sum += amp; amp *= 0.5f; x *= 2; y *= 2; + } + return total / sum; +} + +void setPixel(std::vector& buf, int w, int x, int y, + unsigned char r, unsigned char g, unsigned char b, unsigned char a = 255) { + int i = (y * w + x) * 4; + buf[i + 0] = r; buf[i + 1] = g; buf[i + 2] = b; buf[i + 3] = a; +} + +// Linear interpolate between 2 RGB colors (0-255) +void lerpColor(float t, const float a[3], const float b[3], unsigned char out[3]) { + t = std::clamp(t, 0.0f, 1.0f); + out[0] = (unsigned char)std::clamp(a[0] + (b[0] - a[0]) * t, 0.0f, 255.0f); + out[1] = (unsigned char)std::clamp(a[1] + (b[1] - a[1]) * t, 0.0f, 255.0f); + out[2] = (unsigned char)std::clamp(a[2] + (b[2] - a[2]) * t, 0.0f, 255.0f); +} + +} // namespace + +GLuint TextureCache::UploadRGBA(const unsigned char* data, int w, int h, bool srgb) { + GLuint id; + glGenTextures(1, &id); + glBindTexture(GL_TEXTURE_2D, id); + GLint internalFmt = srgb ? GL_SRGB8_ALPHA8 : GL_RGBA8; + glTexImage2D(GL_TEXTURE_2D, 0, internalFmt, w, h, 0, + GL_RGBA, GL_UNSIGNED_BYTE, data); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glGenerateMipmap(GL_TEXTURE_2D); + return id; +} + +GLuint TextureCache::Procedural(const std::string& name) { + const int W = 512, H = 512; + std::vector buf(W * H * 4, 255); + + if (name == "white") { + std::fill(buf.begin(), buf.end(), 255); + } else if (name == "black") { + for (int i = 0; i < W * H; ++i) { + buf[i * 4 + 0] = 0; buf[i * 4 + 1] = 0; buf[i * 4 + 2] = 0; + buf[i * 4 + 3] = 255; + } + } else if (name == "checker") { + int cell = 32; + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + bool k = ((x / cell) + (y / cell)) & 1; + unsigned char v = k ? 230 : 50; + setPixel(buf, W, x, y, v, v, v); + } + } else if (name == "grid") { + int cell = 64; + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + bool line = (x % cell == 0) || (y % cell == 0) + || (x % cell == cell - 1) || (y % cell == cell - 1); + unsigned char v = line ? 30 : 220; + setPixel(buf, W, x, y, v, v, v); + } + } else if (name == "stripes") { + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + bool k = ((x / 32) & 1); + if (k) setPixel(buf, W, x, y, 220, 220, 210); + else setPixel(buf, W, x, y, 80, 50, 40); + } + } else if (name == "brick") { + int bw = 128, bh = 48, mortar = 3; + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + int row = y / bh; + int offset = (row & 1) ? bw / 2 : 0; + int mx = (x + offset) % bw; + int my = y % bh; + bool is_mortar = (mx < mortar) || (my < mortar); + if (is_mortar) setPixel(buf, W, x, y, 180, 180, 170); + else { + float n = fbm(x * 0.05f, y * 0.05f, 4, 11) * 0.3f + 0.7f; + unsigned char r = (unsigned char)(150 * n); + unsigned char g = (unsigned char)(60 * n); + unsigned char b = (unsigned char)(40 * n); + setPixel(buf, W, x, y, r, g, b); + } + } + } else if (name == "wood") { + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + // Rings + grain + float r = std::sqrt((x - W * 0.5f) * (x - W * 0.5f) + + (y - H * 0.5f) * (y - H * 0.5f)) * 0.04f; + float rings = std::sin(r + fbm(x * 0.01f, y * 0.01f, 4, 7) * 2.0f); + float grain = fbm(x * 0.08f, y * 0.008f, 4, 13); + float t = std::clamp(0.5f + 0.3f * rings + 0.3f * grain, 0.0f, 1.0f); + const float dark[3] = { 85, 48, 22}; + const float light[3]= {175, 120, 70}; + unsigned char c[3]; + lerpColor(t, dark, light, c); + setPixel(buf, W, x, y, c[0], c[1], c[2]); + } + } else if (name == "marble") { + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + float f = fbm(x * 0.012f, y * 0.012f, 5, 3); + float v = std::sin(x * 0.02f + f * 5.0f); + float t = std::clamp(0.7f + v * 0.25f, 0.0f, 1.0f); + const float dark[3] = {190, 195, 200}; + const float light[3]= {245, 245, 250}; + unsigned char c[3]; + lerpColor(t, dark, light, c); + setPixel(buf, W, x, y, c[0], c[1], c[2]); + } + } else if (name == "concrete") { + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + float n = fbm(x * 0.05f, y * 0.05f, 5, 17); + float speck = hashf(x, y, 42); + unsigned char v = (unsigned char)(160 + n * 60 - speck * 20); + v = std::clamp(v, 90, 230); + setPixel(buf, W, x, y, v, v, v + 4); + } + } else if (name == "dirt") { + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + float f = fbm(x * 0.04f, y * 0.04f, 5, 23); + const float low[3] = { 55, 35, 20}; + const float high[3] = {130, 90, 55}; + unsigned char c[3]; + lerpColor(f, low, high, c); + setPixel(buf, W, x, y, c[0], c[1], c[2]); + } + } else if (name == "rock") { + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + float f = fbm(x * 0.02f, y * 0.02f, 6, 31); + float cracks = std::pow(std::abs(std::sin(x * 0.01f + f * 8.0f)), 40.0f); + float v = 100 + f * 100 - cracks * 40; + unsigned char c = (unsigned char)std::clamp(v, 40.0f, 230.0f); + setPixel(buf, W, x, y, c, c - 4, c - 8); + } + } else if (name == "grass") { + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + float f = fbm(x * 0.08f, y * 0.08f, 4, 53); + const float low[3] = { 40, 80, 25}; + const float high[3] = {105, 160, 55}; + unsigned char c[3]; + lerpColor(f, low, high, c); + // Thin darker blades + float blade = std::pow(std::abs(std::sin(x * 0.2f + f * 3.0f)), 12.0f); + c[0] = (unsigned char)std::clamp(c[0] - (int)(blade * 35), 0, 255); + c[1] = (unsigned char)std::clamp(c[1] - (int)(blade * 35), 0, 255); + c[2] = (unsigned char)std::clamp(c[2] - (int)(blade * 15), 0, 255); + setPixel(buf, W, x, y, c[0], c[1], c[2]); + } + } else if (name == "noise") { + for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) { + float f = fbm(x * 0.03f, y * 0.03f, 5, 1); + unsigned char v = (unsigned char)(f * 255); + setPixel(buf, W, x, y, v, v, v); + } + } else { + return 0; // unknown + } + + return UploadRGBA(buf.data(), W, H, /*srgb=*/true); +} + +GLuint TextureCache::LoadFromFile(const std::string& path) { + namespace fs = std::filesystem; + if (!fs::exists(path)) return 0; + std::string ext = fs::path(path).extension().string(); + for (auto& c : ext) c = (char)std::tolower((unsigned char)c); + if (ext == ".bmp") return SimpleTextureLoader::LoadBMP(path); + if (ext == ".tga") return SimpleTextureLoader::LoadTGA(path); + return 0; +} + +GLuint TextureCache::Get(const std::string& name) { + if (name.empty()) return DefaultWhite(); + auto it = cache_.find(name); + if (it != cache_.end()) return it->second; + + GLuint id = Procedural(name); + if (id == 0) id = LoadFromFile(name); + if (id == 0) { + // Fallback to white rather than 0 so shader path stays valid. + id = DefaultWhite(); + } + cache_[name] = id; + return id; +} + +GLuint TextureCache::DefaultWhite() { + static GLuint white = 0; + if (white != 0) return white; + unsigned char px[4] = {255, 255, 255, 255}; + glGenTextures(1, &white); + glBindTexture(GL_TEXTURE_2D, white); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 1, 1, 0, + GL_RGBA, GL_UNSIGNED_BYTE, px); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + return white; +} + +GLuint TextureCache::DefaultNormal() { + static GLuint n = 0; + if (n != 0) return n; + // Tangent-space (0,0,1) encodes as (0.5, 0.5, 1.0). + unsigned char px[4] = {128, 128, 255, 255}; + glGenTextures(1, &n); + glBindTexture(GL_TEXTURE_2D, n); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 1, 1, 0, + GL_RGBA, GL_UNSIGNED_BYTE, px); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + return n; +} + +void TextureCache::Clear() { + for (auto& [k, v] : cache_) glDeleteTextures(1, &v); + cache_.clear(); +} diff --git a/src/TextureCache.h b/src/TextureCache.h new file mode 100644 index 0000000..e88e384 --- /dev/null +++ b/src/TextureCache.h @@ -0,0 +1,25 @@ +#pragma once +#include +#include +#include + +// Single cache for diffuse textures. Resolves names as either: +// - builtin: "white", "black", "checker", "grid", "noise", "wood", +// "brick", "stripes", "marble", "concrete", "dirt", +// "rock", "grass" +// - file path ending .bmp or .tga (uses SimpleTextureLoader) +// +// Builtins are generated procedurally in-memory at first request and cached. +class TextureCache { +public: + static GLuint Get(const std::string& name); + static GLuint DefaultWhite(); + static GLuint DefaultNormal(); // flat (0,0,1) encoded as (0.5,0.5,1.0) + static void Clear(); + +private: + static std::unordered_map cache_; + static GLuint LoadFromFile(const std::string& path); + static GLuint Procedural(const std::string& name); + static GLuint UploadRGBA(const unsigned char* data, int w, int h, bool srgb); +}; diff --git a/src/main.cpp b/src/main.cpp index e587107..a27b667 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,6 +2,7 @@ #include "Input.h" #include "Json.h" #include "MainMenu.h" +#include "TextureCache.h" #include "LevelEditor.cpp" #include #include @@ -613,6 +614,2115 @@ public: } }; +// --------------------------------------------- +// WaterfallDemo: natural waterfall over a rocky cliff. Showcases: +// - Two water surfaces at different elevations (upper stream, lower pool) +// - Directional flow current carrying debris downstream +// - Dense physics droplet cascade off the cliff edge +// - Translucent "curtain" geometry for the body of the waterfall +// - PBR rock + wet-rock specular near the falls +// --------------------------------------------- +class WaterfallDemo : public Engine { + float cam_yaw_ = 180.0f; + float cam_pitch_ = -5.0f; + float cam_speed_ = 18.0f; + float look_sensitivity_ = 80.0f; + glm::vec3 last_cam_pos_{0}; + float drop_timer_ = 0.0f; + int drop_counter_ = 0; + std::deque active_drops_; + static constexpr int kMaxDrops = 200; + std::mt19937 drop_rng_{77}; + std::mt19937 scene_rng_{19}; + int log_counter_ = 0; + float log_timer_ = 0.0f; + std::deque active_logs_; + static constexpr int kMaxLogs = 8; + +public: + WaterfallDemo() + : Engine(1920, 1080, "ZoomEngine - Waterfall (Flow Physics)") {} + + bool OnInitialize() override { + auto& rng = scene_rng_; + auto rnd = [&](float lo, float hi) { + std::uniform_real_distribution d(lo, hi); return d(rng); + }; + auto jit = [&](float s) { return rnd(-s, s); }; + + // --- Daylight palette, slightly overcast cool tones (misty) --- + processAgentCommand(json::parse(R"({ + "action":"sun", + "direction":[-0.30, 0.75, -0.25], + "color":[1.85, 1.65, 1.40], + "zenith":[0.28, 0.45, 0.65], + "horizon":[0.78, 0.84, 0.88], + "sky":[0.62, 0.72, 0.78], + "ground":[0.10, 0.12, 0.10], + "shadow_extent":100, + "exposure":0.95, + "bloom_threshold":1.25, + "bloom_intensity":1.0, + "fog_density":0.010 + })")); + + // --- Lower pool + downstream river: primary water, flowing west --- + processAgentCommand(json::parse(R"({ + "action":"water","enabled":true, + "level":-0.2,"size":300, + "amplitude":0.20,"wavelength":9,"speed":1.0, + "shallow":[0.40, 0.58, 0.58],"deep":[0.03, 0.09, 0.14], + "density":1.0,"resolution":160, + "flow_dir":[-1, 0, 0],"flow_speed":4.0 + })")); + + // --- Upper stream: secondary water at top of cliff, smaller patch --- + processAgentCommand(json::parse(R"({ + "action":"water2","enabled":true, + "center":[38, 0, 0], "size":55, "level":7.8, + "amplitude":0.08,"wavelength":5,"speed":0.9, + "shallow":[0.42, 0.58, 0.60], + "deep":[0.05, 0.15, 0.22], + "resolution":80 + })")); + + processAgentCommand(json::parse(R"({ + "action":"weather","wind_dir":[-1,0,0],"wind_speed":0.4, + "storminess":0.10,"current_coef":0.3 + })")); + + GLuint rock_tex = TextureCache::Get("rock"); + GLuint noise_tex = TextureCache::Get("noise"); + GLuint wood_tex = TextureCache::Get("wood"); + GLuint grass_tex = TextureCache::Get("grass"); + + // --- Two ground strips leaving river channel open --- + auto north_bank = CreateGameObject( + CreatePlane(220.0f, 100.0f, glm::vec3(0.85f, 0.90f, 0.82f)), + glm::vec3(-40.0f, 0.0f, 60.0f)); + north_bank->SetTexture(grass_tex); north_bank->SetNormalMap(noise_tex); + north_bank->SetUVScale(glm::vec2(0.25f)); north_bank->SetRoughness(0.95f); + AddGameObject(north_bank); + + auto south_bank = CreateGameObject( + CreatePlane(220.0f, 100.0f, glm::vec3(0.85f, 0.90f, 0.82f)), + glm::vec3(-40.0f, 0.0f, -60.0f)); + south_bank->SetTexture(grass_tex); south_bank->SetNormalMap(noise_tex); + south_bank->SetUVScale(glm::vec2(0.25f)); south_bank->SetRoughness(0.95f); + AddGameObject(south_bank); + + // Upper (clifftop) plateau + auto plateau = CreateGameObject( + CreatePlane(120.0f, 140.0f, glm::vec3(0.75f, 0.82f, 0.68f)), + glm::vec3(90.0f, 7.5f, 0.0f)); + plateau->SetTexture(grass_tex); plateau->SetNormalMap(noise_tex); + plateau->SetUVScale(glm::vec2(0.22f)); plateau->SetRoughness(0.95f); + AddGameObject(plateau); + + // Stream bed at clifftop (slight dirt depression behind the falls) + auto stream_bed = CreateGameObject( + CreatePlane(60.0f, 40.0f, glm::vec3(0.45f, 0.42f, 0.35f)), + glm::vec3(38.0f, 7.2f, 0.0f)); + stream_bed->SetTexture(TextureCache::Get("dirt")); + stream_bed->SetNormalMap(noise_tex); + stream_bed->SetUVScale(glm::vec2(0.3f)); + AddGameObject(stream_bed); + + // --- Cliff face: stacked rock cubes forming a vertical wall --- + auto cliffBlock = [&](glm::vec3 pos, glm::vec3 scale, float rough = 0.85f) { + auto b = CreateGameObject( + CreateCube(glm::vec3(0.78f, 0.74f, 0.68f)), + pos); + b->SetScale(scale); + b->SetRotation(glm::vec3(jit(4), jit(10), jit(4))); + b->SetTexture(rock_tex); + b->SetNormalMap(noise_tex); + b->SetRoughness(rough); + AddGameObject(b); + }; + // Main cliff wall at x~10, running along Z + for (int z = -8; z <= 8; ++z) { + float h = 7.5f + jit(0.4f); + cliffBlock(glm::vec3(10.0f + jit(0.6f), h * 0.5f, (float)z * 2.8f), + glm::vec3(3.0f + jit(0.5f), h, 2.8f + jit(0.3f))); + } + // Stepped rocks just in front (splash-worn) + for (int i = 0; i < 10; ++i) { + float x = 7.5f + jit(1.2f); + float z = rnd(-10.0f, 10.0f); + float s = rnd(1.2f, 2.2f); + cliffBlock(glm::vec3(x, s * 0.4f, z), glm::vec3(s, s * 0.8f, s * 0.9f), 0.55f); + } + // Boulders in the splash pool + for (int i = 0; i < 14; ++i) { + float x = rnd(4.0f, 9.0f); + float z = rnd(-10.0f, 10.0f); + float s = rnd(0.6f, 1.3f); + auto r = CreateGameObject( + CreateSphere(14, glm::vec3(0.88f, 0.85f, 0.80f)), + glm::vec3(x, s * 0.4f, z)); + r->SetScale(glm::vec3(s, s * 0.65f, s * 0.95f)); + r->SetTexture(rock_tex); + r->SetNormalMap(noise_tex); + r->SetRoughness(0.6f); // wet rocks shine more + AddGameObject(r); + } + + // --- Waterfall curtain: a semi-transparent vertical sheet as the body + // of flowing water. Emissive aqua-blue so it picks up bloom. The + // droplets stream in front of it give the detail. + { + auto sheet = CreateGameObject( + CreateCube(glm::vec3(0.75f, 0.90f, 0.98f)), + glm::vec3(9.5f, 4.0f, 0.0f)); + sheet->SetScale(glm::vec3(0.25f, 8.4f, 20.0f)); + sheet->SetMetallic(0.0f); + sheet->SetRoughness(0.12f); + sheet->SetEmissive(glm::vec3(0.55f, 0.85f, 1.00f)); // bloom glow + AddGameObject(sheet); + // Inner brighter core (taller, thinner — gives depth) + auto core = CreateGameObject( + CreateCube(glm::vec3(0.95f, 0.98f, 1.0f)), + glm::vec3(9.4f, 4.0f, 0.0f)); + core->SetScale(glm::vec3(0.12f, 8.2f, 11.0f)); + core->SetEmissive(glm::vec3(1.3f, 1.6f, 2.0f)); + AddGameObject(core); + } + + // Mist volume at the base (bright emissive spheres that bloom) + for (int i = 0; i < 30; ++i) { + float x = rnd(6.0f, 10.0f); + float y = rnd(0.2f, 2.0f); + float z = rnd(-11.0f, 11.0f); + auto m = CreateGameObject( + CreateSphere(6, glm::vec3(1.0f)), + glm::vec3(x, y, z)); + m->SetScale(glm::vec3(rnd(0.35f, 0.75f))); + m->SetEmissive(glm::vec3(1.5f, 1.8f, 2.0f)); + AddGameObject(m); + } + + // --- Trees, rocks on banks --- + auto tree = [&](glm::vec3 at, float s) { + auto trunk = CreateGameObject( + CreateCylinder(0.23f * s, 2.6f * s, 10, + glm::vec3(0.9f, 0.84f, 0.78f)), + at + glm::vec3(0, 1.3f * s, 0)); + trunk->SetRotation(glm::vec3(jit(4), jit(360), jit(4))); + trunk->SetTexture(wood_tex); + trunk->SetNormalMap(noise_tex); + trunk->SetRoughness(0.85f); + AddGameObject(trunk); + glm::vec3 cc(rnd(0.12f, 0.22f), rnd(0.38f, 0.52f), rnd(0.15f, 0.22f)); + auto cone = CreateGameObject( + CreateCone(1.2f * s, 2.7f * s, 10, cc), + at + glm::vec3(jit(0.15f), 3.0f * s, jit(0.15f))); + cone->SetNormalMap(noise_tex); + cone->SetRoughness(0.8f); + AddGameObject(cone); + }; + // Downstream banks + for (int i = 0; i < 35; ++i) { + float x = rnd(-110.0f, 0.0f); + float z = (i % 2 == 0 ? 1 : -1) * rnd(20.0f, 55.0f); + tree(glm::vec3(x, 0, z), rnd(0.8f, 1.4f)); + } + // Upper plateau + for (int i = 0; i < 22; ++i) { + float x = rnd(40.0f, 140.0f); + float z = rnd(-60.0f, 60.0f); + tree(glm::vec3(x, 7.5f, z), rnd(0.8f, 1.3f)); + } + // Scattered boulders on banks + for (int i = 0; i < 22; ++i) { + float x = rnd(-90.0f, -2.0f); + float z = (i % 2 == 0 ? 1 : -1) * rnd(12.0f, 38.0f); + float s = rnd(0.5f, 1.6f); + auto r = CreateGameObject( + CreateSphere(12, glm::vec3(0.85f, 0.82f, 0.78f)), + glm::vec3(x, s * 0.35f, z)); + r->SetScale(glm::vec3(s, s * 0.6f, s * 0.95f)); + r->SetRotation(glm::vec3(jit(12), jit(180), jit(12))); + r->SetTexture(rock_tex); + r->SetNormalMap(noise_tex); + r->SetRoughness(0.88f); + AddGameObject(r); + } + + // Distant mountains + for (int i = 0; i < 10; ++i) { + float x = -130.0f + i * 26.0f + jit(6.0f); + float z = -150.0f + jit(12.0f); + float s = rnd(0.9f, 1.4f); + float h = 24.0f * s; + auto m = CreateGameObject( + CreateCone(12.0f * s, h, 10, glm::vec3(0.26f, 0.28f, 0.32f)), + glm::vec3(x, h * 0.5f, z)); + AddGameObject(m); + } + + processAgentCommand(json::parse(R"({"action":"physics","enabled":true})")); + + // Camera: parked downstream looking back at the falls + glm::vec3 eye(-25.0f, 4.0f, 0.0f); + glm::vec3 target(10.0f, 4.0f, 0.0f); + SetCameraPosition(eye); + SetCameraTarget(target); + glm::vec3 fwd = glm::normalize(target - eye); + cam_pitch_ = glm::degrees(std::asin(fwd.y)); + cam_yaw_ = glm::degrees(std::atan2(fwd.z, fwd.x)); + last_cam_pos_ = eye; + + std::cout << "Waterfall demo ready: " << game_objects_.size() << " objects.\n" + << "Flow current carries floating debris downstream.\n" + << "Camera: WASD/arrows + gamepad, Space/LCtrl up/down, LShift sprint.\n"; + return true; + } + + void EmitDroplet() { + if ((int)active_drops_.size() >= kMaxDrops) { + std::string old = active_drops_.front(); + active_drops_.pop_front(); + json::Object dc; + dc["action"] = json::Value(std::string("delete")); + dc["id"] = json::Value(old); + processAgentCommand(json::Value(dc)); + } + std::uniform_real_distribution zz(-9.0f, 9.0f); + std::uniform_real_distribution yy(-0.2f, 0.1f); + std::uniform_real_distribution xx(-0.3f, 0.3f); + std::string id = "drop_" + std::to_string(drop_counter_++); + glm::vec3 spawn(10.0f + xx(drop_rng_), + 7.7f + yy(drop_rng_), + zz(drop_rng_)); + // Occasional slightly brighter droplet for visual density + bool bright = (drop_counter_ % 7 == 0); + glm::vec3 col = bright ? glm::vec3(0.9f, 1.0f, 1.2f) + : glm::vec3(0.65f, 0.85f, 0.98f); + auto d = CreateGameObject(CreateSphere(8, col), spawn); + d->SetScale(glm::vec3(bright ? 0.22f : 0.18f)); + d->SetMetallic(0.0f); + d->SetRoughness(0.12f); + d->SetEmissive(glm::vec3(0.6f, 0.9f, 1.1f) * (bright ? 1.3f : 1.0f)); + AddGameObject(d); + namedObjects_[id] = d; + + json::Object bc; + bc["action"] = json::Value(std::string("body")); + bc["id"] = json::Value(id); + bc["shape"] = json::Value(std::string("sphere")); + bc["mass"] = json::Value(0.08); + bc["restitution"] = json::Value(0.2); + bc["friction"] = json::Value(0.05); + processAgentCommand(json::Value(bc)); + + // Initial velocity: mostly downward + westward + std::uniform_real_distribution vx(-3.0f, -1.5f); + std::uniform_real_distribution vy(-2.0f, -1.0f); + std::uniform_real_distribution vz(-0.5f, 0.5f); + json::Object vc; + vc["action"] = json::Value(std::string("velocity")); + vc["id"] = json::Value(id); + vc["linear"] = json::Value(json::Array{ + json::Value((double)vx(drop_rng_)), + json::Value((double)vy(drop_rng_)), + json::Value((double)vz(drop_rng_))}); + processAgentCommand(json::Value(vc)); + active_drops_.push_back(id); + } + + void EmitLog() { + // Periodically drop a floating log into the upper stream so it flows + // over the falls and tumbles downstream in the pool — shows flow physics. + if ((int)active_logs_.size() >= kMaxLogs) { + std::string old = active_logs_.front(); + active_logs_.pop_front(); + json::Object dc; + dc["action"] = json::Value(std::string("delete")); + dc["id"] = json::Value(old); + processAgentCommand(json::Value(dc)); + } + std::uniform_real_distribution zz(-6.0f, 6.0f); + std::uniform_real_distribution yaw(0.0f, 360.0f); + std::string id = "log_" + std::to_string(log_counter_++); + auto log = CreateGameObject( + CreateCylinder(0.35f, 2.4f, 10, glm::vec3(0.9f, 0.80f, 0.65f)), + glm::vec3(60.0f, 8.3f, zz(drop_rng_))); + log->SetRotation(glm::vec3(0, yaw(drop_rng_), 90.0f)); + log->SetTexture(TextureCache::Get("wood")); + log->SetNormalMap(TextureCache::Get("noise")); + log->SetRoughness(0.85f); + AddGameObject(log); + namedObjects_[id] = log; + + json::Object bc; + bc["action"] = json::Value(std::string("body")); + bc["id"] = json::Value(id); + bc["shape"] = json::Value(std::string("box")); + bc["mass"] = json::Value(1.2); + bc["restitution"] = json::Value(0.2); + bc["friction"] = json::Value(0.35); + processAgentCommand(json::Value(bc)); + + json::Object vc; + vc["action"] = json::Value(std::string("velocity")); + vc["id"] = json::Value(id); + vc["linear"] = json::Value(json::Array{ + json::Value(-2.0), + json::Value(0.0), + json::Value(0.0)}); + processAgentCommand(json::Value(vc)); + active_logs_.push_back(id); + } + + void OnUpdate(float dt) override { + // Dense droplet emitter: ~30/sec + drop_timer_ -= dt; + while (drop_timer_ <= 0.0f) { + EmitDroplet(); + drop_timer_ += 0.033f; + } + // Floating log every ~3 seconds to demo flow current + log_timer_ -= dt; + if (log_timer_ <= 0.0f) { + EmitLog(); + log_timer_ = 3.0f; + } + + // Free-fly camera (same pattern as other scenes) --------------------- + glm::vec3 eng_pos = GetCameraPosition(); + if (glm::length(eng_pos - last_cam_pos_) > 0.0001f) { + glm::vec3 fwd = GetCameraTarget() - eng_pos; + if (glm::length(fwd) > 0.0001f) { + fwd = glm::normalize(fwd); + cam_pitch_ = glm::degrees(std::asin(fwd.y)); + cam_yaw_ = glm::degrees(std::atan2(fwd.z, fwd.x)); + } + } + glm::vec2 ls{0}, rs{0}; + float up = 0, down = 0, speed = cam_speed_; + bool touched = false; + if (Input::IsGamepadConnected()) { + ls = Input::GetLeftStick(); + rs = Input::GetRightStick(); + up = Input::GetR2(); + down = Input::GetL2(); + if (Input::IsGamepadButtonDown(Input::GamepadButton::Cross)) speed *= 3.0f; + if (glm::length(ls) + glm::length(rs) + up + down > 0.01f) touched = true; + } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_SHIFT)) speed *= 3.0f; + if (Input::IsKeyHeld(GLFW_KEY_W)) { ls.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_S)) { ls.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_A)) { ls.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_D)) { ls.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT)) { rs.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_RIGHT)) { rs.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_UP)) { rs.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_DOWN)) { rs.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_SPACE)) { up += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_CONTROL)) { down += 1.0f; touched = true; } + if (!touched) { last_cam_pos_ = eng_pos; return; } + cam_yaw_ += rs.x * look_sensitivity_ * dt; + cam_pitch_ -= rs.y * look_sensitivity_ * dt; + if (cam_pitch_ > 89.0f) cam_pitch_ = 89.0f; + if (cam_pitch_ < -89.0f) cam_pitch_ = -89.0f; + glm::vec3 fwd; + fwd.x = std::cos(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + fwd.y = std::sin(glm::radians(cam_pitch_)); + fwd.z = std::sin(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + fwd = glm::normalize(fwd); + glm::vec3 right = glm::normalize(glm::cross(fwd, glm::vec3(0, 1, 0))); + glm::vec3 pos = eng_pos; + pos += fwd * (-ls.y) * speed * dt; + pos += right * ls.x * speed * dt; + pos.y += (up - down) * speed * dt; + SetCameraPosition(pos); + SetCameraTarget(pos + fwd); + last_cam_pos_ = pos; + } +}; + + +// --------------------------------------------- +// DamDemo: concrete dam with reservoir water above, river water below, and +// a stream of physics droplets pouring through the spillway as a waterfall. +// Shows off: two separate Gerstner water surfaces at different heights, mass +// physics with buoyancy, normal-mapped concrete, PBR lighting, bloom mist. +// --------------------------------------------- +class DamDemo : public Engine { + float cam_yaw_ = 135.0f; + float cam_pitch_ = 0.0f; + float cam_speed_ = 22.0f; + float look_sensitivity_ = 80.0f; + glm::vec3 last_cam_pos_{0}; + float drop_timer_ = 0.0f; + int drop_counter_ = 0; + std::deque active_drops_; + static constexpr int kMaxDrops = 120; + std::mt19937 drop_rng_{41}; + std::mt19937 scene_rng_{9}; + +public: + DamDemo() + : Engine(1920, 1080, "ZoomEngine - Dam (Multi-water)") {} + + bool OnInitialize() override { + auto& rng = scene_rng_; + auto rnd = [&](float lo, float hi) { + std::uniform_real_distribution d(lo, hi); return d(rng); + }; + auto jit = [&](float s) { return rnd(-s, s); }; + + // --- Sun + atmosphere: late-afternoon, soft --- + processAgentCommand(json::parse(R"({ + "action":"sun", + "direction":[-0.35, 0.55, -0.25], + "color":[1.7, 1.25, 0.92], + "zenith":[0.18, 0.32, 0.58], + "horizon":[0.85, 0.78, 0.68], + "sky":[0.55, 0.62, 0.70], + "ground":[0.08, 0.08, 0.09], + "shadow_extent":100, + "exposure":0.95, + "bloom_threshold":1.2, + "bloom_intensity":1.0, + "fog_density":0.008 + })")); + + // --- Primary water: the river below the dam (extends far downstream) --- + processAgentCommand(json::parse(R"({ + "action":"water","enabled":true, + "level":-0.3,"size":300, + "amplitude":0.18,"wavelength":10,"speed":0.9, + "shallow":[0.42, 0.55, 0.55],"deep":[0.05, 0.10, 0.18], + "density":1.0,"resolution":160 + })")); + + // --- Secondary water: the reservoir above the dam --- + // Visual-only, at y=8 (higher than dam base), localized to a square. + processAgentCommand(json::parse(R"({ + "action":"water2","enabled":true, + "center":[55, 0, 0], "size":90, "level":8.5, + "amplitude":0.10,"wavelength":7,"speed":0.5, + "shallow":[0.38, 0.55, 0.60], + "deep":[0.02, 0.08, 0.16], + "resolution":96 + })")); + + processAgentCommand(json::parse(R"({ + "action":"weather","wind_dir":[1,0,0.2],"wind_speed":0.8, + "storminess":0.05,"current_coef":0.5 + })")); + + // --- Banks for the downstream river --- + // Split ground into two strips leaving a 40-unit-wide river channel + // between z=-20 and z=20. Primary water (y=-0.3) shows through the gap. + GLuint grass_tex = TextureCache::Get("grass"); + GLuint dirt_tex = TextureCache::Get("dirt"); + + auto north_bank = CreateGameObject( + CreatePlane(220.0f, 100.0f, glm::vec3(0.88f, 0.90f, 0.84f)), + glm::vec3(-100.0f, 0.0f, 70.0f)); + north_bank->SetTexture(grass_tex); + north_bank->SetNormalMap(TextureCache::Get("noise")); + north_bank->SetUVScale(glm::vec2(0.25f)); + north_bank->SetRoughness(0.95f); + AddGameObject(north_bank); + + auto south_bank = CreateGameObject( + CreatePlane(220.0f, 100.0f, glm::vec3(0.88f, 0.90f, 0.84f)), + glm::vec3(-100.0f, 0.0f, -70.0f)); + south_bank->SetTexture(grass_tex); + south_bank->SetNormalMap(TextureCache::Get("noise")); + south_bank->SetUVScale(glm::vec2(0.25f)); + south_bank->SetRoughness(0.95f); + AddGameObject(south_bank); + + // Dam abutment ground on the high side, wrapping around the reservoir + auto upstream_ground = CreateGameObject( + CreatePlane(200.0f, 200.0f, glm::vec3(0.75f, 0.80f, 0.70f)), + glm::vec3(100.0f, 7.5f, 0.0f)); + upstream_ground->SetTexture(grass_tex); + upstream_ground->SetNormalMap(TextureCache::Get("noise")); + upstream_ground->SetUVScale(glm::vec2(0.2f)); + upstream_ground->SetRoughness(0.95f); + AddGameObject(upstream_ground); + + // Reservoir floor: slight dip just below the water for shallow read + auto bed_high = CreateGameObject( + CreatePlane(96.0f, 96.0f, glm::vec3(0.55f, 0.52f, 0.42f)), + glm::vec3(55.0f, 7.8f, 0.0f)); + bed_high->SetTexture(dirt_tex); + bed_high->SetNormalMap(TextureCache::Get("noise")); + bed_high->SetUVScale(glm::vec2(0.25f)); + bed_high->SetRoughness(0.95f); + AddGameObject(bed_high); + + // --- The Dam itself --- + // Big concrete slab with a spillway notch in the middle. + // Position at x=10, running along z-axis. + GLuint concrete = TextureCache::Get("concrete"); + GLuint noise_t = TextureCache::Get("noise"); + + auto damBlock = [&](glm::vec3 pos, glm::vec3 scale, glm::vec3 tint = glm::vec3(0.85f, 0.85f, 0.83f)) { + auto b = CreateGameObject(CreateCube(tint), pos); + b->SetScale(scale); + b->SetTexture(concrete); + b->SetNormalMap(noise_t); + b->SetMetallic(0.0f); + b->SetRoughness(0.85f); + AddGameObject(b); + }; + + // Left wall (z: -30 to -6), full height y=0..13 + damBlock(glm::vec3(10.0f, 6.5f, -18.0f), glm::vec3(3.5f, 13.0f, 24.0f)); + // Right wall (z: 6 to 30) + damBlock(glm::vec3(10.0f, 6.5f, 18.0f), glm::vec3(3.5f, 13.0f, 24.0f)); + // Spillway weir — lower section between walls, y=0..6 so reservoir can + // overflow across the top of it. + damBlock(glm::vec3(10.0f, 3.0f, 0.0f), glm::vec3(3.5f, 6.0f, 12.0f)); + // Angled buttresses at the ends + damBlock(glm::vec3(13.5f, 3.5f, -30.0f), glm::vec3(4.0f, 7.0f, 4.0f)); + damBlock(glm::vec3(13.5f, 3.5f, 30.0f), glm::vec3(4.0f, 7.0f, 4.0f)); + + // Dam top walkway + damBlock(glm::vec3(10.0f, 13.3f, 0.0f), + glm::vec3(4.5f, 0.4f, 64.0f), + glm::vec3(0.76f, 0.76f, 0.74f)); + + // Railing posts along the top + for (int i = 0; i < 15; ++i) { + float z = -28.0f + i * 4.0f; + auto post = CreateGameObject( + CreateCylinder(0.12f, 1.2f, 8, glm::vec3(0.78f, 0.78f, 0.78f)), + glm::vec3(10.0f + jit(1.5f), 13.0f, z)); + post->SetMetallic(1.0f); + post->SetRoughness(0.4f); + AddGameObject(post); + } + + // --- Surrounding banks: stone clusters and trees --- + GLuint rock_tex = TextureCache::Get("rock"); + GLuint wood_tex = TextureCache::Get("wood"); + + auto boulder = [&](glm::vec3 pos, float s) { + auto r = CreateGameObject( + CreateSphere(16, glm::vec3(0.9f, 0.88f, 0.84f)), + pos); + r->SetScale(glm::vec3(s, s * rnd(0.55f, 0.8f), s * rnd(0.85f, 1.1f))); + r->SetRotation(glm::vec3(jit(15), jit(180), jit(15))); + r->SetTexture(rock_tex); + r->SetNormalMap(noise_t); + r->SetRoughness(0.9f); + AddGameObject(r); + }; + // Rocks lining the downstream riverbank + for (int i = 0; i < 25; ++i) { + float x = rnd(-100.0f, 5.0f); + float z = (i % 2 == 0 ? -1 : 1) * rnd(18.0f, 36.0f); + boulder(glm::vec3(x, 0.6f, z), rnd(0.8f, 1.8f)); + } + // Rocks at the base of the dam spillway (splash zone) + for (int i = 0; i < 12; ++i) { + float x = rnd(0.0f, 8.0f); + float z = rnd(-5.0f, 5.0f); + boulder(glm::vec3(x, 0.3f, z), rnd(0.6f, 1.2f)); + } + + // Trees along both banks + auto tree = [&](glm::vec3 at, float s) { + auto trunk = CreateGameObject( + CreateCylinder(0.25f * s, 2.8f * s, 10, + glm::vec3(0.9f, 0.85f, 0.8f)), + at + glm::vec3(0, 1.4f * s, 0)); + trunk->SetRotation(glm::vec3(jit(3), jit(360), jit(3))); + trunk->SetTexture(wood_tex); + trunk->SetNormalMap(noise_t); + trunk->SetRoughness(0.85f); + AddGameObject(trunk); + glm::vec3 cc(rnd(0.12f, 0.25f), rnd(0.40f, 0.55f), rnd(0.14f, 0.25f)); + auto cone = CreateGameObject( + CreateCone(1.3f * s, 2.8f * s, 10, cc), + at + glm::vec3(jit(0.15f), 3.2f * s, jit(0.15f))); + cone->SetNormalMap(noise_t); + cone->SetRoughness(0.8f); + AddGameObject(cone); + }; + for (int i = 0; i < 30; ++i) { + float x = rnd(-100.0f, 5.0f); + float z = (i % 2 == 0 ? -1 : 1) * rnd(25.0f, 55.0f); + tree(glm::vec3(x, 0, z), rnd(0.8f, 1.4f)); + } + for (int i = 0; i < 20; ++i) { + // Upstream bank trees at elevated bed + float x = rnd(20.0f, 100.0f); + float z = (i % 2 == 0 ? -1 : 1) * rnd(25.0f, 50.0f); + tree(glm::vec3(x, 7.5f, z), rnd(0.7f, 1.2f)); + } + + // Distant mountains + for (int i = 0; i < 12; ++i) { + float x = -120.0f + i * 24.0f + jit(6.0f); + float z = -150.0f + jit(12.0f); + float s = rnd(0.9f, 1.4f); + float h = 20.0f * s + rnd(0, 6); + float r = 12.0f * s; + auto m = CreateGameObject( + CreateCone(r, h, 10, glm::vec3(0.18f, 0.15f, 0.18f)), + glm::vec3(x, h * 0.5f, z)); + AddGameObject(m); + } + + // Floating barrels in the downstream river (wind pushes them) + for (int i = 0; i < 6; ++i) { + float x = rnd(-60.0f, -10.0f); + float z = rnd(-30.0f, 30.0f); + auto barrel = CreateGameObject( + CreateCylinder(0.7f, 1.3f, 12, glm::vec3(0.9f, 0.78f, 0.55f)), + glm::vec3(x, 1.2f, z)); + barrel->SetRotation(glm::vec3(0, jit(180), 90.0f)); + barrel->SetTexture(wood_tex); + barrel->SetNormalMap(noise_t); + barrel->SetRoughness(0.8f); + AddGameObject(barrel); + std::string id = "barrel_" + std::to_string(i); + namedObjects_[id] = barrel; + json::Object c; + c["action"] = json::Value(std::string("body")); + c["id"] = json::Value(id); + c["shape"] = json::Value(std::string("box")); + c["mass"] = json::Value(1.0); + c["restitution"] = json::Value(0.3); + c["friction"] = json::Value(0.4); + processAgentCommand(json::Value(c)); + } + + processAgentCommand(json::parse(R"({"action":"physics","enabled":true})")); + + // Camera: looking toward the dam from downstream, slightly elevated + glm::vec3 eye(-20.0f, 4.5f, 0.0f); + glm::vec3 target(10.0f, 6.0f, 0.0f); + SetCameraPosition(eye); + SetCameraTarget(target); + glm::vec3 fwd = glm::normalize(target - eye); + cam_pitch_ = glm::degrees(std::asin(fwd.y)); + cam_yaw_ = glm::degrees(std::atan2(fwd.z, fwd.x)); + last_cam_pos_ = eye; + + std::cout << "Dam demo ready: " << game_objects_.size() << " objects.\n" + << "Waterfall spawns physics droplets through the spillway.\n" + << "Camera: WASD/arrows, Space/LCtrl up/down, LShift sprint.\n"; + return true; + } + + void EmitDroplet() { + if ((int)active_drops_.size() >= kMaxDrops) { + std::string old = active_drops_.front(); + active_drops_.pop_front(); + json::Object dc; + dc["action"] = json::Value(std::string("delete")); + dc["id"] = json::Value(old); + processAgentCommand(json::Value(dc)); + } + std::uniform_real_distribution zz(-5.5f, 5.5f); + std::uniform_real_distribution yy(-0.15f, 0.15f); + std::string id = "drop_" + std::to_string(drop_counter_++); + glm::vec3 spawn(12.0f, + 8.2f + yy(drop_rng_), + zz(drop_rng_)); + auto d = CreateGameObject( + CreateSphere(8, glm::vec3(0.6f, 0.8f, 0.95f)), + spawn); + d->SetScale(glm::vec3(0.22f)); + d->SetMetallic(0.0f); + d->SetRoughness(0.15f); + d->SetEmissive(glm::vec3(0.15f, 0.25f, 0.3f)); // slight glow for bloom haze + AddGameObject(d); + namedObjects_[id] = d; + + json::Object bc; + bc["action"] = json::Value(std::string("body")); + bc["id"] = json::Value(id); + bc["shape"] = json::Value(std::string("sphere")); + bc["mass"] = json::Value(0.1); + bc["restitution"] = json::Value(0.25); + bc["friction"] = json::Value(0.05); + processAgentCommand(json::Value(bc)); + + // Initial velocity: slightly downward + outward (away from dam) + std::uniform_real_distribution vx(-4.0f, -2.0f); + std::uniform_real_distribution vy(-1.5f, -0.5f); + std::uniform_real_distribution vz(-0.8f, 0.8f); + json::Object vc; + vc["action"] = json::Value(std::string("velocity")); + vc["id"] = json::Value(id); + vc["linear"] = json::Value(json::Array{ + json::Value((double)vx(drop_rng_)), + json::Value((double)vy(drop_rng_)), + json::Value((double)vz(drop_rng_))}); + processAgentCommand(json::Value(vc)); + + active_drops_.push_back(id); + } + + void OnUpdate(float dt) override { + // Waterfall emitter: ~12 droplets per second + drop_timer_ -= dt; + while (drop_timer_ <= 0.0f) { + EmitDroplet(); + drop_timer_ += 0.08f; + } + + // --- Free-fly camera (same pattern as other scenes) --- + glm::vec3 eng_pos = GetCameraPosition(); + if (glm::length(eng_pos - last_cam_pos_) > 0.0001f) { + glm::vec3 fwd = GetCameraTarget() - eng_pos; + if (glm::length(fwd) > 0.0001f) { + fwd = glm::normalize(fwd); + cam_pitch_ = glm::degrees(std::asin(fwd.y)); + cam_yaw_ = glm::degrees(std::atan2(fwd.z, fwd.x)); + } + } + glm::vec2 ls{0}, rs{0}; + float up = 0, down = 0, speed = cam_speed_; + bool touched = false; + if (Input::IsGamepadConnected()) { + ls = Input::GetLeftStick(); + rs = Input::GetRightStick(); + up = Input::GetR2(); + down = Input::GetL2(); + if (Input::IsGamepadButtonDown(Input::GamepadButton::Cross)) speed *= 3.0f; + if (glm::length(ls) + glm::length(rs) + up + down > 0.01f) touched = true; + } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_SHIFT)) speed *= 3.0f; + if (Input::IsKeyHeld(GLFW_KEY_W)) { ls.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_S)) { ls.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_A)) { ls.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_D)) { ls.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT)) { rs.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_RIGHT)) { rs.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_UP)) { rs.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_DOWN)) { rs.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_SPACE)) { up += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_CONTROL)) { down += 1.0f; touched = true; } + if (!touched) { last_cam_pos_ = eng_pos; return; } + cam_yaw_ += rs.x * look_sensitivity_ * dt; + cam_pitch_ -= rs.y * look_sensitivity_ * dt; + if (cam_pitch_ > 89.0f) cam_pitch_ = 89.0f; + if (cam_pitch_ < -89.0f) cam_pitch_ = -89.0f; + glm::vec3 fwd; + fwd.x = std::cos(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + fwd.y = std::sin(glm::radians(cam_pitch_)); + fwd.z = std::sin(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + fwd = glm::normalize(fwd); + glm::vec3 right = glm::normalize(glm::cross(fwd, glm::vec3(0, 1, 0))); + glm::vec3 pos = eng_pos; + pos += fwd * (-ls.y) * speed * dt; + pos += right * ls.x * speed * dt; + pos.y += (up - down) * speed * dt; + SetCameraPosition(pos); + SetCameraTarget(pos + fwd); + last_cam_pos_ = pos; + } +}; + + +// --------------------------------------------- +// SanctuaryDemo: end-to-end engine showcase. +// - PBR metals + normal-mapped stone/wood/grass +// - HDR + bloom + ACES + MSAA + atmospheric fog +// - Gerstner water with foam + buoyancy + wind current +// - Cascade physics: a heavy metal sphere rolls off a ramp, knocks over a +// line of wooden dominoes, which push a crate stack into the lake. +// - Shadows, emissive brazier, copper orb, stone pillar ring. +// Pure C++ placement; no AI. +// --------------------------------------------- +class SanctuaryDemo : public Engine { + float cam_yaw_ = 230.0f; + float cam_pitch_ = -10.0f; + float cam_speed_ = 22.0f; + float look_sensitivity_ = 80.0f; + glm::vec3 last_cam_pos_{0}; + float time_elapsed_ = 0.0f; + bool kickoff_fired_ = false; + float shot_cooldown_ = 0.0f; + int shot_counter_ = 0; + std::deque active_shots_; + static constexpr int kMaxShots = 60; + std::mt19937 shot_rng_{1337}; + +public: + SanctuaryDemo() + : Engine(1920, 1080, "ZoomEngine - Sanctuary (Full Showcase)") {} + + void FireBall() { + glm::vec3 cam_pos = GetCameraPosition(); + glm::vec3 cam_tgt = GetCameraTarget(); + glm::vec3 fwd = glm::normalize(cam_tgt - cam_pos); + glm::vec3 spawn = cam_pos + fwd * 1.5f; + + std::string id = "shot_" + std::to_string(shot_counter_++); + + // Retire oldest shot if we're at cap + if ((int)active_shots_.size() >= kMaxShots) { + std::string old = active_shots_.front(); + active_shots_.pop_front(); + json::Object dc; + dc["action"] = json::Value(std::string("delete")); + dc["id"] = json::Value(old); + processAgentCommand(json::Value(dc)); + } + + // Color palette — HDR pops for bloom + std::uniform_real_distribution cd(0.6f, 1.6f); + glm::vec3 col(cd(shot_rng_), cd(shot_rng_), cd(shot_rng_)); + + auto ball = CreateGameObject(CreateSphere(20, col), spawn); + ball->SetScale(glm::vec3(0.35f)); + ball->SetMetallic(1.0f); + ball->SetRoughness(0.3f); + AddGameObject(ball); + namedObjects_[id] = ball; + + json::Object bc; + bc["action"] = json::Value(std::string("body")); + bc["id"] = json::Value(id); + bc["shape"] = json::Value(std::string("sphere")); + bc["mass"] = json::Value(1.5); + bc["restitution"] = json::Value(0.55); + bc["friction"] = json::Value(0.3); + processAgentCommand(json::Value(bc)); + + json::Object vc; + vc["action"] = json::Value(std::string("velocity")); + vc["id"] = json::Value(id); + vc["linear"] = json::Value(json::Array{ + json::Value((double)(fwd.x * 55.0f)), + json::Value((double)(fwd.y * 55.0f)), + json::Value((double)(fwd.z * 55.0f)) }); + processAgentCommand(json::Value(vc)); + + active_shots_.push_back(id); + } + + bool OnInitialize() override { + std::mt19937 rng(17); + auto rnd = [&](float lo, float hi) { + std::uniform_real_distribution d(lo, hi); return d(rng); + }; + auto jit = [&](float s) { return rnd(-s, s); }; + + // --- Global lighting / post tuning --- + processAgentCommand(json::parse(R"({ + "action":"sun", + "direction":[-0.62, 0.25, -0.18], + "color":[2.5, 1.45, 0.85], + "zenith":[0.14, 0.22, 0.48], + "horizon":[1.05, 0.58, 0.32], + "sky":[0.70, 0.48, 0.32], + "ground":[0.06, 0.06, 0.07], + "shadow_extent":110, + "exposure":0.95, + "bloom_threshold":1.15, + "bloom_intensity":1.2, + "fog_density":0.011 + })")); + + // --- Water & weather --- + processAgentCommand(json::parse(R"({ + "action":"water","enabled":true, + "level":-0.45,"size":420, + "amplitude":0.18,"wavelength":13,"speed":0.8, + "shallow":[0.55,0.42,0.30],"deep":[0.03,0.07,0.13], + "density":1.1,"resolution":180 + })")); + processAgentCommand(json::parse(R"({ + "action":"weather","wind_dir":[0.9,0,0.4], + "wind_speed":0.6,"storminess":0.08,"current_coef":0.5 + })")); + + // --- Ground --- + auto grass = CreateGameObject( + CreatePlane(420.0f, 420.0f, glm::vec3(0.95f, 0.97f, 0.92f)), + glm::vec3(0, 0, 0)); + grass->SetTexture(TextureCache::Get("grass")); + grass->SetNormalMap(TextureCache::Get("noise")); + grass->SetUVScale(glm::vec2(0.35f)); + grass->SetRoughness(0.95f); + AddGameObject(grass); + + // --- Textures / cached refs --- + GLuint wood_tex = TextureCache::Get("wood"); + GLuint rock_tex = TextureCache::Get("rock"); + GLuint marble_tex = TextureCache::Get("marble"); + GLuint brick_tex = TextureCache::Get("brick"); + GLuint concrete = TextureCache::Get("concrete"); + GLuint noise_tex = TextureCache::Get("noise"); + + // --- Helper for physics-enabled objects --- + auto bodyCmd = [&](const std::string& id, const std::string& shape, + float mass, float rest, float frict, + bool is_static = false) { + json::Object c; + c["action"] = json::Value(std::string("body")); + c["id"] = json::Value(id); + c["shape"] = json::Value(shape); + c["mass"] = json::Value((double)mass); + c["restitution"] = json::Value((double)rest); + c["friction"] = json::Value((double)frict); + if (is_static) c["static"] = json::Value(true); + processAgentCommand(json::Value(c)); + }; + + auto addBox = [&](const std::string& id, glm::vec3 pos, glm::vec3 scale, + glm::vec3 color, GLuint tex, GLuint normal, + float metallic, float roughness, + float mass, float rest = 0.2f, float frict = 0.65f, + glm::vec3 rot = glm::vec3(0)) { + auto obj = CreateGameObject(CreateCube(color), pos); + obj->SetScale(scale); + obj->SetRotation(rot); + if (tex) obj->SetTexture(tex); + if (normal) obj->SetNormalMap(normal); + obj->SetMetallic(metallic); + obj->SetRoughness(roughness); + AddGameObject(obj); + if (!id.empty()) namedObjects_[id] = obj; + if (mass > 0 || mass == -1.0f) // -1 = static + bodyCmd(id, "box", (mass == -1.0f) ? 0 : mass, rest, frict, + mass == -1.0f); + return obj; + }; + + auto addSphere = [&](const std::string& id, glm::vec3 pos, float radius, + glm::vec3 color, GLuint tex, GLuint normal, + float metallic, float roughness, + float mass, float rest = 0.4f, float frict = 0.3f) { + auto obj = CreateGameObject(CreateSphere(36, color), pos); + obj->SetScale(glm::vec3(radius)); + if (tex) obj->SetTexture(tex); + if (normal) obj->SetNormalMap(normal); + obj->SetMetallic(metallic); + obj->SetRoughness(roughness); + AddGameObject(obj); + if (!id.empty()) namedObjects_[id] = obj; + if (mass > 0) bodyCmd(id, "sphere", mass, rest, frict); + return obj; + }; + + // --- Central forge: stone altar + emissive brazier --- + addBox("altar", + glm::vec3(0, 0.75f, 0), glm::vec3(3.0f, 1.5f, 3.0f), + glm::vec3(0.88f, 0.84f, 0.80f), + marble_tex, noise_tex, 0.0f, 0.55f, 0); + // Brazier bowl (flattened sphere with copper tint) + auto bowl = CreateGameObject( + CreateSphere(32, glm::vec3(0.95f, 0.55f, 0.28f)), + glm::vec3(0, 1.65f, 0)); + bowl->SetScale(glm::vec3(0.8f, 0.4f, 0.8f)); + bowl->SetMetallic(1.0f); + bowl->SetRoughness(0.35f); + AddGameObject(bowl); + // Flame — two emissive cones + auto flame_outer = CreateGameObject( + CreateCone(0.5f, 1.6f, 12, glm::vec3(1.0f)), + glm::vec3(0, 2.5f, 0)); + flame_outer->SetEmissive(glm::vec3(5.0f, 1.8f, 0.4f)); + AddGameObject(flame_outer); + auto flame_inner = CreateGameObject( + CreateCone(0.25f, 1.0f, 12, glm::vec3(1.0f)), + glm::vec3(0, 2.6f, 0)); + flame_inner->SetEmissive(glm::vec3(8.0f, 3.5f, 1.2f)); + AddGameObject(flame_inner); + + // --- Ring of stone pillars --- + for (int i = 0; i < 8; ++i) { + float ang = (float)i / 8 * 2 * M_PI; + float R = 7.5f; + float h = 4.0f + jit(0.5f); + auto pillar = CreateGameObject( + CreateCylinder(0.5f, h, 12, + glm::vec3(0.88f, 0.85f, 0.82f)), + glm::vec3(std::cos(ang) * R, h * 0.5f, std::sin(ang) * R)); + pillar->SetTexture(marble_tex); + pillar->SetNormalMap(noise_tex); + pillar->SetRoughness(0.55f); + AddGameObject(pillar); + } + + // --- PBR showcase pieces --- + // Polished chrome obelisk + addBox("obelisk", + glm::vec3(-7.0f, 3.0f, -2.0f), glm::vec3(0.8f, 6.0f, 0.8f), + glm::vec3(0.95f, 0.95f, 0.95f), 0, 0, + 1.0f, 0.15f, -1.0f, + 0.0f, 0.0f, glm::vec3(0, 15.0f, 0)); + // Copper mirror-ish orb + addSphere("copper_orb", + glm::vec3(8.0f, 1.3f, -2.5f), 1.3f, + glm::vec3(0.95f, 0.55f, 0.28f), 0, 0, + 1.0f, 0.2f, + 0.0f); // static visual + + // --- Physics chain-reaction setup --- + // A launch ramp angled down from east toward origin; metal ball at top. + // Ramp is a tilted box; static. + addBox("ramp", + glm::vec3(22.0f, 1.9f, 0.0f), glm::vec3(7.0f, 0.3f, 3.0f), + glm::vec3(0.9f, 0.85f, 0.78f), + wood_tex, noise_tex, 0.0f, 0.7f, -1.0f, + 0.0f, 0.0f, glm::vec3(0, 0, -18.0f)); // tilt down + + // Domino chain — 12 wooden boards standing in a line from origin out + for (int i = 0; i < 12; ++i) { + float x = 12.0f - i * 1.6f; + addBox("dom_" + std::to_string(i), + glm::vec3(x, 1.0f, 0), glm::vec3(0.3f, 2.0f, 1.2f), + glm::vec3(0.9f, 0.85f, 0.7f), + wood_tex, noise_tex, 0.0f, 0.6f, + 1.0f, 0.08f, 0.55f); + } + + // Crate stack — pyramid of wooden crates east of dominoes, near shore + for (int y = 0; y < 3; ++y) { + int n = 4 - y; + for (int i = 0; i < n; ++i) { + float x = -10.0f - (3 - n) * 0.5f + i * 1.1f; + float yp = 0.5f + y * 1.0f; + addBox("crate_" + std::to_string(y * 4 + i), + glm::vec3(x, yp, -8.0f), glm::vec3(1.0f), + glm::vec3(0.85f, 0.75f, 0.55f), + wood_tex, noise_tex, 0.0f, 0.7f, + 0.8f, 0.1f, 0.7f); + } + } + + // Impulse ball — heavy metal sphere at top of ramp + auto ball = addSphere("impulse_ball", + glm::vec3(25.0f, 5.5f, 0.0f), 0.9f, + glm::vec3(0.75f, 0.78f, 0.82f), 0, 0, + 1.0f, 0.3f, + 8.0f, 0.3f, 0.25f); + (void)ball; + + // --- Bonus physics content: much more to knock around --- + + // Second domino line at an angle, north of the first + for (int i = 0; i < 14; ++i) { + float x = 8.0f - i * 1.4f; + float z = -4.0f - i * 0.4f; + addBox("dom2_" + std::to_string(i), + glm::vec3(x, 1.0f, z), glm::vec3(0.28f, 2.0f, 1.1f), + glm::vec3(0.9f, 0.82f, 0.65f), + wood_tex, noise_tex, 0.0f, 0.65f, + 0.9f, 0.08f, 0.55f, + glm::vec3(0, 16.0f, 0)); + } + + // Second crate pyramid, east of the first + for (int y = 0; y < 3; ++y) { + int n = 4 - y; + for (int i = 0; i < n; ++i) { + float x = 4.0f + i * 1.1f + (3 - n) * 0.5f; + float yp = 0.5f + y * 1.0f; + float z = -14.0f; + addBox("crate2_" + std::to_string(y * 4 + i), + glm::vec3(x, yp, z), glm::vec3(1.0f), + glm::vec3(0.85f, 0.75f, 0.55f), + wood_tex, noise_tex, 0.0f, 0.7f, + 0.8f, 0.1f, 0.7f); + } + } + + // Third crate wall (flat stack), on the west side + for (int i = 0; i < 12; ++i) { + int col = i % 4, row = i / 4; + float x = -18.0f + col * 1.1f; + float y = 0.5f + row * 1.1f; + addBox("wallc_" + std::to_string(i), + glm::vec3(x, y, -6.0f), glm::vec3(1.0f), + glm::vec3(0.65f, 0.78f, 0.85f), // blueish + concrete, noise_tex, 0.0f, 0.75f, + 0.6f, 0.2f, 0.6f); + } + + // Bowling-pin triangle near the center, 10 pins + static const float pin_offsets[10][2] = { + { 0.0f, 0.0f}, + {-0.45f, 0.8f}, { 0.45f, 0.8f}, + {-0.9f, 1.6f}, { 0.0f, 1.6f}, { 0.9f, 1.6f}, + {-1.35f, 2.4f}, {-0.45f, 2.4f}, { 0.45f, 2.4f}, { 1.35f, 2.4f} + }; + for (int i = 0; i < 10; ++i) { + float px = 16.0f + pin_offsets[i][1]; + float pz = 3.0f + pin_offsets[i][0]; + auto pin = CreateGameObject( + CreateCylinder(0.35f, 1.6f, 14, glm::vec3(0.98f, 0.96f, 0.92f)), + glm::vec3(px, 0.8f, pz)); + pin->SetMetallic(0.0f); + pin->SetRoughness(0.35f); + AddGameObject(pin); + std::string id = "pin_" + std::to_string(i); + namedObjects_[id] = pin; + bodyCmd(id, "box", 0.5f, 0.2f, 0.4f); // box collider is fine for pins + } + + // Tall cube tower (8 blocks high) inviting to be knocked down + for (int i = 0; i < 8; ++i) { + float y = 0.6f + i * 1.2f; + addBox("tower_" + std::to_string(i), + glm::vec3(-15.0f, y, 8.0f), glm::vec3(1.2f), + glm::vec3(0.85f, 0.80f, 0.72f), + marble_tex, noise_tex, 0.0f, 0.5f, + 0.9f, 0.12f, 0.55f, + glm::vec3(0, i * 7.0f, 0)); + } + + // Scattered loose objects around the forge area for casual physics + for (int i = 0; i < 20; ++i) { + float ang = (float)i / 20.0f * 2 * M_PI + rnd(-0.1f, 0.1f); + float R = 18.0f + rnd(-3.0f, 3.0f); + float x = std::cos(ang) * R; + float z = std::sin(ang) * R; + bool is_sphere = (i % 2) == 0; + std::string id = "loose_" + std::to_string(i); + if (is_sphere) { + addSphere(id, + glm::vec3(x, 1.0f, z), rnd(0.4f, 0.8f), + glm::vec3(rnd(0.4f, 0.95f), rnd(0.4f, 0.95f), rnd(0.4f, 0.95f)), + rock_tex, noise_tex, + rnd(0.0f, 0.9f), rnd(0.2f, 0.9f), + 0.6f, 0.5f, 0.3f); + } else { + addBox(id, + glm::vec3(x, 1.0f, z), glm::vec3(rnd(0.6f, 1.1f)), + glm::vec3(rnd(0.5f, 0.95f), rnd(0.5f, 0.95f), rnd(0.5f, 0.95f)), + wood_tex, noise_tex, + 0.0f, 0.65f, + 0.7f, 0.15f, 0.55f, + glm::vec3(jit(15), jit(180), jit(15))); + } + } + + // --- Floating barrels on the lake (buoyancy demo) --- + for (int i = 0; i < 5; ++i) { + float x = rnd(-20.0f, 20.0f); + float z = rnd(-55.0f, -25.0f); + auto barrel = CreateGameObject( + CreateCylinder(0.8f, 1.4f, 12, + glm::vec3(0.9f, 0.78f, 0.55f)), + glm::vec3(x, 1.5f, z)); + barrel->SetRotation(glm::vec3(0, jit(180.0f), 90.0f)); + barrel->SetTexture(wood_tex); + barrel->SetNormalMap(noise_tex); + barrel->SetRoughness(0.8f); + AddGameObject(barrel); + std::string id = "barrel_" + std::to_string(i); + namedObjects_[id] = barrel; + bodyCmd(id, "box", 1.0f, 0.3f, 0.4f); // approximate as box + } + + // Floating metal orbs + for (int i = 0; i < 3; ++i) { + float x = rnd(-12.0f, 12.0f); + float z = rnd(-50.0f, -30.0f); + addSphere("orb_float_" + std::to_string(i), + glm::vec3(x, 1.2f, z), 0.7f, + glm::vec3(0.92f, 0.65f, 0.35f), 0, 0, + 1.0f, 0.3f, + 0.7f, 0.4f); + } + + // --- Distant mountain silhouettes --- + for (int i = 0; i < 13; ++i) { + float x = -175.0f + i * 28.0f + jit(6.0f); + float z = -170.0f + jit(12.0f); + float s = rnd(0.9f, 1.5f); + float h = 22.0f * s + rnd(0, 6); + float r = 14.0f * s; + auto m = CreateGameObject( + CreateCone(r, h, 10, glm::vec3(0.16f, 0.13f, 0.16f)), + glm::vec3(x, h * 0.5f, z)); + m->SetRoughness(0.95f); + AddGameObject(m); + } + + // --- Forest (trees around perimeter, avoiding focal area) --- + auto tree = [&](glm::vec3 at, float s) { + auto trunk = CreateGameObject( + CreateCylinder(0.24f * s, 2.7f * s, 10, + glm::vec3(0.92f, 0.88f, 0.82f)), + at + glm::vec3(0, 1.35f * s, 0)); + trunk->SetRotation(glm::vec3(jit(4), jit(360), jit(4))); + trunk->SetTexture(wood_tex); + trunk->SetNormalMap(noise_tex); + trunk->SetRoughness(0.85f); + AddGameObject(trunk); + int layers = 1 + (int)(rng() % 3); + for (int k = 0; k < layers; ++k) { + float lh = 2.6f * s * (1.0f - k * 0.22f); + float lr = 1.3f * s * (1.0f - k * 0.13f); + glm::vec3 cc(rnd(0.10f, 0.22f), rnd(0.36f, 0.52f), + rnd(0.12f, 0.22f)); + auto cone = CreateGameObject( + CreateCone(lr, lh, 10, cc), + at + glm::vec3(jit(0.15f), 3.0f * s + k * 1.0f * s, jit(0.15f))); + cone->SetNormalMap(noise_tex); + cone->SetRoughness(0.8f); + AddGameObject(cone); + } + }; + for (int i = 0; i < 40; ++i) { + // Scatter around a ring, skipping the focal cone + float x, z; + do { + x = rnd(-80.0f, 80.0f); + z = rnd(-80.0f, 40.0f); + } while (std::abs(x) < 18.0f && z > -15.0f && z < 25.0f); // clearing + tree(glm::vec3(x, 0, z), rnd(0.7f, 1.4f)); + } + + // --- Boulder scatter --- + for (int i = 0; i < 35; ++i) { + float x, z; + do { + x = rnd(-70.0f, 70.0f); + z = rnd(-25.0f, 35.0f); + } while (std::abs(x) < 10.0f && std::abs(z) < 10.0f); // no clutter on forge + float s = rnd(0.4f, 1.3f); + auto rock = CreateGameObject( + CreateSphere(14, glm::vec3(0.8f, 0.77f, 0.74f)), + glm::vec3(x, s * 0.35f, z)); + rock->SetScale(glm::vec3(s, s * rnd(0.5f, 0.8f), s * rnd(0.8f, 1.1f))); + rock->SetRotation(glm::vec3(jit(15), jit(180), jit(15))); + rock->SetTexture(rock_tex); + rock->SetNormalMap(noise_tex); + rock->SetRoughness(0.9f); + AddGameObject(rock); + } + + // --- Reeds along shore --- + for (int i = 0; i < 70; ++i) { + float x = rnd(-45.0f, 45.0f); + float z = rnd(-20.0f, -8.0f); + float h = rnd(0.8f, 1.7f); + auto reed = CreateGameObject( + CreateCylinder(0.04f, h, 4, + glm::vec3(rnd(0.5f, 0.65f), rnd(0.45f, 0.55f), + rnd(0.2f, 0.3f))), + glm::vec3(x, h * 0.5f, z)); + reed->SetRotation(glm::vec3(jit(12), 0, jit(12))); + reed->SetRoughness(0.8f); + AddGameObject(reed); + } + + // --- Wildflowers (HDR-saturated for bloom) --- + for (int i = 0; i < 120; ++i) { + float x = rnd(-45.0f, 45.0f); + float z = rnd(-5.0f, 30.0f); + if (std::abs(x) < 6.0f && std::abs(z) < 6.0f) continue; // keep forge clear + glm::vec3 col; + int pick = (int)(rng() % 5); + if (pick == 0) col = glm::vec3(1.6f, 1.2f, 0.3f); + else if (pick == 1) col = glm::vec3(1.5f, 0.4f, 0.8f); + else if (pick == 2) col = glm::vec3(1.3f, 1.25f, 1.2f); + else if (pick == 3) col = glm::vec3(0.8f, 0.5f, 1.5f); + else col = glm::vec3(1.6f, 0.6f, 0.2f); + auto fl = CreateGameObject(CreateSphere(8, col), + glm::vec3(x, 0.2f + jit(0.05f), z)); + fl->SetScale(glm::vec3(0.09f)); + fl->SetEmissive(col * 0.3f); + AddGameObject(fl); + } + + // Enable physics + processAgentCommand(json::parse(R"({"action":"physics","enabled":true})")); + + // --- Camera pose --- + glm::vec3 eye(18.0f, 5.5f, 18.0f); + glm::vec3 target(2.0f, 2.0f, -8.0f); + SetCameraPosition(eye); + SetCameraTarget(target); + glm::vec3 fwd = glm::normalize(target - eye); + cam_pitch_ = glm::degrees(std::asin(fwd.y)); + cam_yaw_ = glm::degrees(std::atan2(fwd.z, fwd.x)); + last_cam_pos_ = eye; + + std::cout << "Sanctuary demo ready: " << game_objects_.size() + << " objects. Chain reaction fires at t=2s.\n" + << "Camera: WASD/arrows, Space/LCtrl = up/down, LShift = sprint.\n" + << "SHOOT: hold F, click LMB, or hold R1 (gamepad) to fire balls.\n"; + return true; + } + + void OnUpdate(float dt) override { + time_elapsed_ += dt; + + // Kick off the chain reaction 2 seconds in, once physics is warm + if (!kickoff_fired_ && time_elapsed_ > 2.0f) { + kickoff_fired_ = true; + // Big left-ward nudge so the ball rolls down the ramp into dominoes + json::Object c; + c["action"] = json::Value(std::string("impulse")); + c["id"] = json::Value(std::string("impulse_ball")); + c["impulse"] = json::Value(json::Array{ + json::Value(-120.0), + json::Value(0.0), + json::Value(0.0)}); + processAgentCommand(json::Value(c)); + } + + // Shoot balls from camera: F / LMB / R1 — rate-limited + shot_cooldown_ -= dt; + if (shot_cooldown_ <= 0.0f) { + bool fire = false; + if (Input::IsKeyHeld(GLFW_KEY_F)) + fire = true; + if (Input::IsMouseButtonPressed(Input::MouseButton::Left)) + fire = true; + if (Input::IsGamepadButtonDown(Input::GamepadButton::R1)) + fire = true; + if (fire) { + FireBall(); + shot_cooldown_ = 0.16f; // ~6 shots/sec + } + } + + // --- Free-fly camera --- + glm::vec3 eng_pos = GetCameraPosition(); + if (glm::length(eng_pos - last_cam_pos_) > 0.0001f) { + glm::vec3 fwd = GetCameraTarget() - eng_pos; + if (glm::length(fwd) > 0.0001f) { + fwd = glm::normalize(fwd); + cam_pitch_ = glm::degrees(std::asin(fwd.y)); + cam_yaw_ = glm::degrees(std::atan2(fwd.z, fwd.x)); + } + } + + glm::vec2 ls{0}, rs{0}; + float up = 0, down = 0, speed = cam_speed_; + bool touched = false; + if (Input::IsGamepadConnected()) { + ls = Input::GetLeftStick(); + rs = Input::GetRightStick(); + up = Input::GetR2(); + down = Input::GetL2(); + if (Input::IsGamepadButtonDown(Input::GamepadButton::Cross)) speed *= 3.0f; + if (glm::length(ls) + glm::length(rs) + up + down > 0.01f) touched = true; + } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_SHIFT)) speed *= 3.0f; + if (Input::IsKeyHeld(GLFW_KEY_W)) { ls.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_S)) { ls.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_A)) { ls.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_D)) { ls.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT)) { rs.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_RIGHT)) { rs.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_UP)) { rs.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_DOWN)) { rs.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_SPACE)) { up += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_CONTROL)) { down += 1.0f; touched = true; } + + if (!touched) { last_cam_pos_ = eng_pos; return; } + + cam_yaw_ += rs.x * look_sensitivity_ * dt; + cam_pitch_ -= rs.y * look_sensitivity_ * dt; + if (cam_pitch_ > 89.0f) cam_pitch_ = 89.0f; + if (cam_pitch_ < -89.0f) cam_pitch_ = -89.0f; + glm::vec3 fwd; + fwd.x = std::cos(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + fwd.y = std::sin(glm::radians(cam_pitch_)); + fwd.z = std::sin(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + fwd = glm::normalize(fwd); + glm::vec3 right = glm::normalize(glm::cross(fwd, glm::vec3(0, 1, 0))); + glm::vec3 pos = eng_pos; + pos += fwd * (-ls.y) * speed * dt; + pos += right * ls.x * speed * dt; + pos.y += (up - down) * speed * dt; + SetCameraPosition(pos); + SetCameraTarget(pos + fwd); + last_cam_pos_ = pos; + } +}; + + +// --------------------------------------------- +// SunsetForestDemo: a composed, cinematic scene built to show off the whole +// rendering pipeline — HDR/bloom/tone mapping, shadows, Gerstner water, +// atmospheric fog, sun at a specific time of day. Pure C++ placement, no AI. +// --------------------------------------------- +class SunsetForestDemo : public Engine { + float cam_yaw_ = 225.0f; + float cam_pitch_ = -12.0f; + float cam_speed_ = 20.0f; + float look_sensitivity_ = 80.0f; + glm::vec3 last_cam_pos_{0}; + +public: + SunsetForestDemo() + : Engine(1920, 1080, "ZoomEngine - Sunset Forest (HDR)") {} + + bool OnInitialize() override { + std::mt19937 rng(42); + auto rand = [&](float lo, float hi) { + std::uniform_real_distribution d(lo, hi); + return d(rng); + }; + auto jitter = [&](float scale) { return rand(-scale, scale); }; + + // --- Sunset palette + atmosphere + HDR tuning --- + processAgentCommand(json::parse(R"({ + "action":"sun", + "direction":[-0.75, 0.18, -0.15], + "color":[2.6, 1.40, 0.80], + "zenith":[0.14, 0.20, 0.45], + "horizon":[1.05, 0.55, 0.28], + "sky":[0.75, 0.45, 0.28], + "ground":[0.05, 0.05, 0.07], + "shadow_extent":120, + "exposure":0.9, + "bloom_threshold":1.15, + "bloom_intensity":1.1, + "fog_density":0.012 + })")); + + // --- Ground (grass, textured, PBR) --- + auto grass = CreateGameObject( + CreatePlane(400.0f, 400.0f, glm::vec3(0.9f, 0.95f, 0.9f)), + glm::vec3(0, 0, 0)); + grass->SetTexture(TextureCache::Get("grass")); + grass->SetNormalMap(TextureCache::Get("noise")); // fake micro-relief + grass->SetUVScale(glm::vec2(0.3f)); + grass->SetMetallic(0.0f); + grass->SetRoughness(0.95f); + AddGameObject(grass); + + // --- Lake + light breeze --- + processAgentCommand(json::parse(R"({ + "action":"water", + "enabled":true, + "level":-0.55, + "size":420, + "amplitude":0.14, + "wavelength":14, + "speed":0.7, + "shallow":[0.55, 0.42, 0.30], + "deep":[0.03, 0.07, 0.13], + "resolution":180 + })")); + processAgentCommand(json::parse(R"({ + "action":"weather", + "wind_dir":[0.8, 0, 0.6], + "wind_speed":1.0, + "storminess":0.1 + })")); + + // Distant mountain silhouettes — broad cones along the horizon + for (int i = 0; i < 11; ++i) { + float x = -160.0f + i * 32.0f + jitter(6.0f); + float z = -170.0f + jitter(10.0f); + float s = rand(0.9f, 1.5f); + float h = 22.0f * s + rand(0.0f, 6.0f); + float r = 14.0f * s; + auto m = CreateGameObject( + CreateCone(r, h, 10, glm::vec3(0.17f, 0.13f, 0.16f)), + glm::vec3(x, h * 0.5f, z)); + AddGameObject(m); + } + // Second ridge: smaller cones in front of the big ones, lighter tone + for (int i = 0; i < 14; ++i) { + float x = -140.0f + i * 20.0f + jitter(4.0f); + float z = -130.0f + jitter(8.0f); + float h = 10.0f + jitter(3.0f); + float r = 7.0f + jitter(1.5f); + auto m = CreateGameObject( + CreateCone(r, h, 9, glm::vec3(0.22f, 0.18f, 0.20f)), + glm::vec3(x, h * 0.5f, z)); + AddGameObject(m); + } + + GLuint wood_tex = TextureCache::Get("wood"); + GLuint rock_tex = TextureCache::Get("rock"); + + GLuint noise_tex = TextureCache::Get("noise"); + + // Tree helper: trunk + 1-3 stacked canopy cones + auto tree = [&](glm::vec3 pos, float s, glm::vec3 canopyCol) { + auto trunk = CreateGameObject( + CreateCylinder(0.22f * s, 2.6f * s, 8, + glm::vec3(0.9f, 0.85f, 0.8f)), + pos + glm::vec3(0, 1.3f * s, 0)); + trunk->SetRotation(glm::vec3(jitter(4.0f), rand(0.0f, 360.0f), jitter(4.0f))); + trunk->SetTexture(wood_tex); + trunk->SetNormalMap(noise_tex); + trunk->SetMetallic(0.0f); + trunk->SetRoughness(0.85f); + AddGameObject(trunk); + int layers = 1 + (int)(rng() % 3); + for (int i = 0; i < layers; ++i) { + float lh = 2.4f * s * (1.0f - i * 0.22f); + float lr = 1.25f * s * (1.0f - i * 0.14f); + auto cone = CreateGameObject( + CreateCone(lr, lh, 10, canopyCol * (0.85f + i * 0.07f)), + pos + glm::vec3(jitter(0.2f), + 2.7f * s + i * 1.1f * s, + jitter(0.2f))); + cone->SetNormalMap(noise_tex); + cone->SetRoughness(0.8f); + AddGameObject(cone); + } + }; + + // Ridge/foreground trees (near camera, where ground is above lake level) + for (int i = 0; i < 30; ++i) { + float x = rand(-70.0f, 70.0f); + float z = rand(5.0f, 45.0f); + // Keep clear corridor near the camera focal area + if (std::abs(x + 8.0f) < 5.0f && z < 18.0f) continue; + float s = rand(0.9f, 1.6f); + glm::vec3 col(rand(0.11f, 0.22f), rand(0.34f, 0.50f), rand(0.13f, 0.22f)); + tree(glm::vec3(x, 0, z), s, col); + } + // Far shore trees (past the lake) + for (int i = 0; i < 45; ++i) { + float x = rand(-120.0f, 120.0f); + float z = rand(-95.0f, -45.0f); + float s = rand(0.55f, 1.0f); + glm::vec3 col(rand(0.07f, 0.14f), rand(0.22f, 0.35f), rand(0.09f, 0.16f)); + tree(glm::vec3(x, 0, z), s, col); + } + + // Boulders along the shore and scattered across the ridge + for (int i = 0; i < 45; ++i) { + float x = rand(-70.0f, 70.0f); + float z = rand(-12.0f, 32.0f); + float s = rand(0.4f, 1.4f); + auto rock = CreateGameObject( + CreateSphere(16, + glm::vec3(rand(0.75f, 0.95f), + rand(0.72f, 0.92f), + rand(0.70f, 0.90f))), + glm::vec3(x, s * 0.35f, z)); + rock->SetScale(glm::vec3(s, s * rand(0.5f, 0.8f), s * rand(0.8f, 1.1f))); + rock->SetRotation(glm::vec3(jitter(15.0f), jitter(180.0f), jitter(15.0f))); + rock->SetTexture(rock_tex); + rock->SetNormalMap(noise_tex); + rock->SetMetallic(0.0f); + rock->SetRoughness(0.9f); + AddGameObject(rock); + } + + // Reeds along the shoreline (near the lake-grass boundary) + for (int i = 0; i < 80; ++i) { + float x = rand(-50.0f, 50.0f); + // Tight zone on the water side of the shore + float z = rand(-20.0f, -6.0f); + float h = rand(0.7f, 1.6f); + auto reed = CreateGameObject( + CreateCylinder(0.045f, h, 4, + glm::vec3(rand(0.45f, 0.60f), + rand(0.40f, 0.55f), + rand(0.18f, 0.28f))), + glm::vec3(x, h * 0.5f, z)); + reed->SetRotation(glm::vec3(jitter(15.0f), 0, jitter(15.0f))); + AddGameObject(reed); + } + + // Wildflowers: tiny emissive-ish spheres — boost colors so they pop in HDR + for (int i = 0; i < 100; ++i) { + float x = rand(-50.0f, 50.0f); + float z = rand(4.0f, 38.0f); + glm::vec3 col; + int pick = (int)(rng() % 5); + if (pick == 0) col = glm::vec3(1.40f, 1.10f, 0.30f); // yellow + else if (pick == 1) col = glm::vec3(1.30f, 0.40f, 0.75f); // pink + else if (pick == 2) col = glm::vec3(1.20f, 1.15f, 1.10f); // white + else if (pick == 3) col = glm::vec3(0.70f, 0.45f, 1.30f); // purple + else col = glm::vec3(1.40f, 0.55f, 0.20f); // orange + auto fl = CreateGameObject(CreateSphere(6, col), + glm::vec3(x, 0.18f + jitter(0.05f), z)); + fl->SetScale(glm::vec3(0.09f)); + AddGameObject(fl); + } + + // Fallen log — story beat in foreground + { + auto log = CreateGameObject( + CreateCylinder(0.55f, 6.5f, 10, glm::vec3(0.92f, 0.88f, 0.82f)), + glm::vec3(6.0f, 0.55f, 13.0f)); + log->SetRotation(glm::vec3(0, 15.0f, 90.0f)); + log->SetTexture(wood_tex); + log->SetNormalMap(noise_tex); + log->SetRoughness(0.8f); + AddGameObject(log); + } + + // Polished metal obelisk — PBR showcase (high metallic, low roughness) + { + auto obelisk = CreateGameObject( + CreateCube(glm::vec3(0.92f, 0.88f, 0.78f)), + glm::vec3(-8.0f, 3.0f, -4.0f)); + obelisk->SetScale(glm::vec3(0.7f, 4.5f, 0.7f)); + obelisk->SetRotation(glm::vec3(0, 18.0f, 0)); + obelisk->SetMetallic(1.0f); + obelisk->SetRoughness(0.25f); + AddGameObject(obelisk); + + // Brushed copper sphere — another PBR reference + auto orb = CreateGameObject( + CreateSphere(64, glm::vec3(0.95f, 0.55f, 0.28f)), + glm::vec3(10.0f, 1.2f, -1.0f)); + orb->SetScale(glm::vec3(1.2f)); + orb->SetMetallic(1.0f); + orb->SetRoughness(0.35f); + AddGameObject(orb); + } + + // Campfire — bright HDR colors for the flame to bloom + { + glm::vec3 fire_pos(0.0f, 0, 12.0f); + // Two crossed logs + auto a = CreateGameObject( + CreateCylinder(0.16f, 1.3f, 6, glm::vec3(0.20f, 0.12f, 0.06f)), + fire_pos + glm::vec3(0, 0.16f, 0)); + a->SetRotation(glm::vec3(0, 30.0f, 90.0f)); + AddGameObject(a); + auto b = CreateGameObject( + CreateCylinder(0.16f, 1.3f, 6, glm::vec3(0.22f, 0.14f, 0.07f)), + fire_pos + glm::vec3(0, 0.16f, 0)); + b->SetRotation(glm::vec3(0, -30.0f, 90.0f)); + AddGameObject(b); + // Outer flame (dimmer, larger) — emissive so it glows via bloom + auto f1 = CreateGameObject( + CreateCone(0.45f, 1.3f, 10, glm::vec3(1.0f)), + fire_pos + glm::vec3(0, 0.75f, 0)); + f1->SetEmissive(glm::vec3(4.5f, 1.6f, 0.35f)); + AddGameObject(f1); + auto f2 = CreateGameObject( + CreateCone(0.22f, 0.8f, 10, glm::vec3(1.0f)), + fire_pos + glm::vec3(0, 0.90f, 0)); + f2->SetEmissive(glm::vec3(7.0f, 3.0f, 0.9f)); + AddGameObject(f2); + // Ring of stones + for (int i = 0; i < 9; ++i) { + float a_rad = i * 0.698f; + glm::vec3 p = fire_pos + glm::vec3(std::cos(a_rad) * 0.85f, + 0.08f, + std::sin(a_rad) * 0.85f); + auto r = CreateGameObject( + CreateSphere(8, glm::vec3(0.28f, 0.26f, 0.24f)), p); + r->SetScale(glm::vec3(0.28f, 0.18f, 0.28f)); + AddGameObject(r); + } + } + + // Camera: cinematic three-quarter, looking across ridge -> lake -> mountains + glm::vec3 eye(20.0f, 7.5f, 28.0f); + glm::vec3 target(-4.0f, 1.0f, -25.0f); + SetCameraPosition(eye); + SetCameraTarget(target); + glm::vec3 fwd0 = glm::normalize(target - eye); + cam_pitch_ = glm::degrees(std::asin(fwd0.y)); + cam_yaw_ = glm::degrees(std::atan2(fwd0.z, fwd0.x)); + last_cam_pos_ = eye; + + std::cout << "Sunset Forest ready: " << game_objects_.size() + << " objects.\n" + << "Controls: WASD/arrows or gamepad, Space/R2 up, " + "LCtrl/L2 down, LShift/Cross sprint.\n"; + return true; + } + + void OnUpdate(float dt) override { + // Free-fly camera (copied from GrassPoolsDemo for standalone mode). + glm::vec3 eng_pos = GetCameraPosition(); + if (glm::length(eng_pos - last_cam_pos_) > 0.0001f) { + glm::vec3 fwd = GetCameraTarget() - eng_pos; + if (glm::length(fwd) > 0.0001f) { + fwd = glm::normalize(fwd); + cam_pitch_ = glm::degrees(std::asin(fwd.y)); + cam_yaw_ = glm::degrees(std::atan2(fwd.z, fwd.x)); + } + } + + glm::vec2 ls{0}, rs{0}; + float up = 0, down = 0, speed = cam_speed_; + bool touched = false; + + if (Input::IsGamepadConnected()) { + ls = Input::GetLeftStick(); + rs = Input::GetRightStick(); + up = Input::GetR2(); + down = Input::GetL2(); + if (Input::IsGamepadButtonDown(Input::GamepadButton::Cross)) speed *= 3.0f; + if (glm::length(ls) + glm::length(rs) + up + down > 0.01f) touched = true; + } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_SHIFT)) speed *= 3.0f; + if (Input::IsKeyHeld(GLFW_KEY_W)) { ls.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_S)) { ls.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_A)) { ls.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_D)) { ls.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT)) { rs.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_RIGHT)) { rs.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_UP)) { rs.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_DOWN)) { rs.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_SPACE)) { up += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_CONTROL)) { down += 1.0f; touched = true; } + + if (!touched) { last_cam_pos_ = eng_pos; return; } + + cam_yaw_ += rs.x * look_sensitivity_ * dt; + cam_pitch_ -= rs.y * look_sensitivity_ * dt; + if (cam_pitch_ > 89.0f) cam_pitch_ = 89.0f; + if (cam_pitch_ < -89.0f) cam_pitch_ = -89.0f; + + glm::vec3 fwd; + fwd.x = std::cos(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + fwd.y = std::sin(glm::radians(cam_pitch_)); + fwd.z = std::sin(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + fwd = glm::normalize(fwd); + glm::vec3 right = glm::normalize(glm::cross(fwd, glm::vec3(0, 1, 0))); + + glm::vec3 pos = eng_pos; + pos += fwd * (-ls.y) * speed * dt; + pos += right * ls.x * speed * dt; + pos.y += (up - down) * speed * dt; + + SetCameraPosition(pos); + SetCameraTarget(pos + fwd); + last_cam_pos_ = pos; + } +}; + + +// --------------------------------------------- +// GrassPoolsDemo: standalone showcase of shadows + grass ground + water + pools. +// No AI driving — everything set up in C++ from OnInitialize. +// --------------------------------------------- +class GrassPoolsDemo : public Engine { + float cam_yaw_ = 215.0f; + float cam_pitch_ = -15.0f; + float cam_speed_ = 15.0f; + float look_sensitivity_ = 80.0f; + glm::vec3 last_cam_pos_{0}; + +public: + GrassPoolsDemo() + : Engine(1920, 1080, "ZoomEngine - Grass / Pools / Shadows") {} + + bool OnInitialize() override { + std::mt19937 rng(7); + auto rand = [&](float lo, float hi) { + std::uniform_real_distribution d(lo, hi); + return d(rng); + }; + + // Golden-hour sun via the engine's existing state. + processAgentCommand(json::parse(R"({ + "action":"sun", + "direction":[-0.55, 0.32, -0.20], + "color":[1.55, 1.15, 0.78], + "zenith":[0.20, 0.40, 0.72], + "horizon":[0.95, 0.70, 0.50], + "sky":[0.80, 0.62, 0.42], + "ground":[0.08, 0.07, 0.05], + "shadow_extent":80 + })")); + + // Grass ground — textured + auto grass = CreateGameObject( + CreatePlane(110.0f, 110.0f, glm::vec3(0.95f, 0.95f, 0.9f)), + glm::vec3(0, 0, 0)); + grass->SetTexture(TextureCache::Get("grass")); + grass->SetUVScale(glm::vec2(0.25f)); + AddGameObject(grass); + + // Ocean around the grass: mesh is large, level just below the grass + // so the horizon line reads as a shore. + processAgentCommand(json::parse(R"({ + "action":"water", + "enabled":true, + "level":-0.25, + "size":260, + "amplitude":0.35, + "wavelength":11, + "speed":1.0, + "shallow":[0.30, 0.58, 0.62], + "deep":[0.02, 0.11, 0.20], + "resolution":160 + })")); + + // A light breeze so the ocean moves but the scene stays calm. + processAgentCommand(json::parse(R"({ + "action":"weather", + "wind_dir":[1, 0, 0.4], + "wind_speed":1.0, + "storminess":0.1 + })")); + + // Tiny pools — small translucent teal planes sitting on the grass. + // Slight Y offset prevents z-fighting; size <2m suggests puddles. + struct Pool { glm::vec3 pos; float size; }; + const std::vector pools = { + { glm::vec3( 6.0f, 0.02f, 3.0f), 2.4f }, + { glm::vec3(-4.0f, 0.02f, -7.0f), 1.6f }, + { glm::vec3( 1.5f, 0.02f, 10.0f), 1.9f }, + { glm::vec3(-9.0f, 0.02f, 5.5f), 1.2f }, + }; + for (const auto& p : pools) { + // Use a color that reads as "shallow reflective water" + auto pool = CreateGameObject( + CreatePlane(p.size, p.size * 0.7f, glm::vec3(0.35f, 0.58f, 0.65f)), + p.pos); + // Slight random yaw to stop them looking like a grid + pool->SetRotation(glm::vec3(0, rand(0.0f, 360.0f), 0)); + AddGameObject(pool); + } + + // Shadow casters: 3 standing "monoliths" and a scatter of boulders. + auto monolith = [&](glm::vec3 pos, glm::vec3 scale, glm::vec3 color, float yaw) { + auto obj = CreateGameObject(CreateCube(color), pos); + obj->SetScale(scale); + obj->SetRotation(glm::vec3(0, yaw, 0)); + AddGameObject(obj); + }; + GLuint rock_tex = TextureCache::Get("rock"); + GLuint wood_tex = TextureCache::Get("wood"); + auto monolith2 = [&](glm::vec3 pos, glm::vec3 scale, float yaw) { + auto obj = CreateGameObject(CreateCube(glm::vec3(0.9f, 0.88f, 0.85f)), pos); + obj->SetScale(scale); + obj->SetRotation(glm::vec3(0, yaw, 0)); + obj->SetTexture(rock_tex); + AddGameObject(obj); + }; + monolith2(glm::vec3( 0.0f, 2.5f, 0.0f), glm::vec3(1.2f, 5.0f, 1.2f), 12.0f); + monolith2(glm::vec3( 4.5f, 1.8f, -6.0f), glm::vec3(0.9f, 3.6f, 0.9f), -22.0f); + monolith2(glm::vec3(-7.0f, 2.1f, -2.0f), glm::vec3(1.1f, 4.2f, 1.1f), 48.0f); + monolith2(glm::vec3( 8.5f, 1.4f, 7.5f), glm::vec3(0.8f, 2.8f, 0.8f), -8.0f); + (void)monolith; (void)wood_tex; + + auto boulder = [&](glm::vec3 pos, float s, glm::vec3 color) { + (void)color; + auto obj = CreateGameObject(CreateSphere(24, glm::vec3(0.85f, 0.82f, 0.78f)), pos); + obj->SetScale(glm::vec3(s, s * 0.75f, s)); + obj->SetTexture(rock_tex); + AddGameObject(obj); + }; + boulder(glm::vec3(-3.0f, 0.6f, 4.0f), 1.2f, glm::vec3(0.45f, 0.42f, 0.38f)); + boulder(glm::vec3( 5.0f, 0.45f, -2.0f), 0.9f, glm::vec3(0.42f, 0.40f, 0.36f)); + boulder(glm::vec3( 2.5f, 0.7f, 12.0f), 1.4f, glm::vec3(0.50f, 0.46f, 0.42f)); + boulder(glm::vec3(-10.0f, 0.5f, 9.0f), 1.0f, glm::vec3(0.40f, 0.38f, 0.35f)); + boulder(glm::vec3(12.0f, 0.4f, -4.0f), 0.8f, glm::vec3(0.48f, 0.45f, 0.40f)); + + // Some trees: trunk cylinder (wood texture) + cone foliage. + auto tree = [&](glm::vec3 at, float s) { + auto trunk = CreateGameObject( + CreateCylinder(0.25f * s, 2.4f * s, 10, glm::vec3(0.9f, 0.85f, 0.8f)), + at + glm::vec3(0, 1.2f * s, 0)); + trunk->SetTexture(TextureCache::Get("wood")); + AddGameObject(trunk); + auto canopy = CreateGameObject( + CreateCone(1.3f * s, 2.6f * s, 12, glm::vec3(0.15f, 0.40f, 0.18f)), + at + glm::vec3(0, 3.6f * s, 0)); + AddGameObject(canopy); + }; + tree(glm::vec3(-14.0f, 0, -8.0f), 1.3f); + tree(glm::vec3( 15.0f, 0, -10.0f), 1.1f); + tree(glm::vec3(-16.0f, 0, 12.0f), 1.4f); + tree(glm::vec3( 18.0f, 0, 4.0f), 1.0f); + tree(glm::vec3( 9.0f, 0, -14.0f), 1.2f); + + // Camera setup: three-quarter view that catches the long shadows. + glm::vec3 eye(18.0f, 7.0f, 22.0f); + SetCameraPosition(eye); + SetCameraTarget(glm::vec3(0, 1.5f, 0)); + last_cam_pos_ = eye; + + std::cout << "Grass/Pools/Shadows demo ready.\n" + << "Camera: WASD = move, arrows = look, Space/LCtrl = up/down," + " LShift = sprint.\n"; + return true; + } + + void OnUpdate(float dt) override { + // Same free-fly camera as GodSandbox. + glm::vec3 eng_pos = GetCameraPosition(); + if (glm::length(eng_pos - last_cam_pos_) > 0.0001f) { + glm::vec3 fwd = GetCameraTarget() - eng_pos; + if (glm::length(fwd) > 0.0001f) { + fwd = glm::normalize(fwd); + cam_pitch_ = glm::degrees(std::asin(fwd.y)); + cam_yaw_ = glm::degrees(std::atan2(fwd.z, fwd.x)); + } + } + + glm::vec2 ls{0}, rs{0}; + float up = 0, down = 0, speed = cam_speed_; + bool touched = false; + + if (Input::IsGamepadConnected()) { + ls = Input::GetLeftStick(); + rs = Input::GetRightStick(); + up = Input::GetR2(); + down = Input::GetL2(); + if (Input::IsGamepadButtonDown(Input::GamepadButton::Cross)) speed *= 3.0f; + if (glm::length(ls) + glm::length(rs) + up + down > 0.01f) touched = true; + } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_SHIFT)) speed *= 3.0f; + if (Input::IsKeyHeld(GLFW_KEY_W)) { ls.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_S)) { ls.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_A)) { ls.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_D)) { ls.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT)) { rs.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_RIGHT)) { rs.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_UP)) { rs.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_DOWN)) { rs.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_SPACE)) { up += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_CONTROL)) { down += 1.0f; touched = true; } + + if (!touched) { last_cam_pos_ = eng_pos; return; } + + cam_yaw_ += rs.x * look_sensitivity_ * dt; + cam_pitch_ -= rs.y * look_sensitivity_ * dt; + if (cam_pitch_ > 89.0f) cam_pitch_ = 89.0f; + if (cam_pitch_ < -89.0f) cam_pitch_ = -89.0f; + + glm::vec3 fwd; + fwd.x = std::cos(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + fwd.y = std::sin(glm::radians(cam_pitch_)); + fwd.z = std::sin(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + fwd = glm::normalize(fwd); + glm::vec3 right = glm::normalize(glm::cross(fwd, glm::vec3(0, 1, 0))); + + glm::vec3 pos = eng_pos; + pos += fwd * (-ls.y) * speed * dt; + pos += right * ls.x * speed * dt; + pos.y += (up - down) * speed * dt; + + SetCameraPosition(pos); + SetCameraTarget(pos + fwd); + last_cam_pos_ = pos; + } +}; + + +// --------------------------------------------- +// GodSandbox: blank canvas for the AI god to play in, plus free-fly controls +// Ground plane + grid + gentle initial camera. The AI god drives the scene +// via HTTP; the human drives the camera via gamepad or keyboard. Claude's +// camera commands stay authoritative until the user touches an input. +// --------------------------------------------- +class GodSandbox : public Engine { + float cam_yaw_ = 225.0f; // looking toward origin from [15,10,15] + float cam_pitch_ = -25.0f; + float cam_speed_ = 15.0f; + float look_sensitivity_ = 80.0f; + glm::vec3 last_cam_pos_{15, 10, 15}; + std::string load_path_; // empty = blank sandbox + +public: + GodSandbox() + : Engine(1920, 1080, "ZoomEngine - God Sandbox (run ai_god.py)") {} + + void SetLoadPath(const std::string& p) { load_path_ = p; } + + bool OnInitialize() override { + auto grid = CreateGameObject(CreateGrid(30, 1.0f, glm::vec3(0.25f, 0.25f, 0.35f)), + glm::vec3(0, 0, 0)); + AddGameObject(grid); + + auto plane = CreateGameObject(CreatePlane(40.0f, 40.0f, glm::vec3(0.08f, 0.09f, 0.14f)), + glm::vec3(0, -0.01f, 0)); + AddGameObject(plane); + + SetCameraPosition(glm::vec3(15, 10, 15)); + SetCameraTarget(glm::vec3(0, 0, 0)); + last_cam_pos_ = GetCameraPosition(); + + if (!load_path_.empty()) { + std::string result = loadWorldFromFile(load_path_); + std::cout << "Loaded world from " << load_path_ + << " -> " << result << std::endl; + } + + std::cout << "God Sandbox ready. In another terminal, run:" << std::endl; + std::cout << " python ai_god.py" << std::endl; + std::cout << "Agent API listening on http://localhost:9090/api" << std::endl; + std::cout << "Camera: WASD move, arrows/right-stick look, Space/R2 up," + << " LShift/L2 down, LCtrl/Cross sprint." << std::endl; + return true; + } + + void OnUpdate(float dt) override { + // Resync local yaw/pitch whenever the AI (or any other source) has + // moved the camera out from under us since the last frame. + glm::vec3 eng_pos = GetCameraPosition(); + if (glm::length(eng_pos - last_cam_pos_) > 0.0001f) { + glm::vec3 fwd = GetCameraTarget() - eng_pos; + if (glm::length(fwd) > 0.0001f) { + fwd = glm::normalize(fwd); + cam_pitch_ = glm::degrees(std::asin(fwd.y)); + cam_yaw_ = glm::degrees(std::atan2(fwd.z, fwd.x)); + } + } + + // Read inputs + glm::vec2 ls{0.0f}, rs{0.0f}; + float up = 0.0f, down = 0.0f; + float speed = cam_speed_; + bool touched = false; + + if (Input::IsGamepadConnected()) { + ls = Input::GetLeftStick(); + rs = Input::GetRightStick(); + up = Input::GetR2(); + down = Input::GetL2(); + if (Input::IsGamepadButtonDown(Input::GamepadButton::Cross)) + speed *= 3.0f; + if (glm::length(ls) + glm::length(rs) + up + down > 0.01f) + touched = true; + } + + if (Input::IsKeyHeld(GLFW_KEY_LEFT_SHIFT)) speed *= 3.0f; + if (Input::IsKeyHeld(GLFW_KEY_W)) { ls.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_S)) { ls.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_A)) { ls.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_D)) { ls.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT)) { rs.x -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_RIGHT)) { rs.x += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_UP)) { rs.y -= 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_DOWN)) { rs.y += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_SPACE)) { up += 1.0f; touched = true; } + if (Input::IsKeyHeld(GLFW_KEY_LEFT_CONTROL)) { down += 1.0f; touched = true; } + + if (!touched) { + last_cam_pos_ = eng_pos; + return; // leave whatever the AI god (or initial state) set alone + } + + cam_yaw_ += rs.x * look_sensitivity_ * dt; + cam_pitch_ -= rs.y * look_sensitivity_ * dt; + if (cam_pitch_ > 89.0f) cam_pitch_ = 89.0f; + if (cam_pitch_ < -89.0f) cam_pitch_ = -89.0f; + + glm::vec3 forward; + forward.x = std::cos(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + forward.y = std::sin(glm::radians(cam_pitch_)); + forward.z = std::sin(glm::radians(cam_yaw_)) * std::cos(glm::radians(cam_pitch_)); + forward = glm::normalize(forward); + glm::vec3 right = glm::normalize(glm::cross(forward, glm::vec3(0, 1, 0))); + + glm::vec3 pos = eng_pos; + pos += forward * (-ls.y) * speed * dt; + pos += right * ls.x * speed * dt; + pos.y += (up - down) * speed * dt; + + SetCameraPosition(pos); + SetCameraTarget(pos + forward); + last_cam_pos_ = pos; + } +}; + + // --------------------------------------------- // Launch a scene by action string // --------------------------------------------- @@ -641,6 +2751,43 @@ static void runScene(const std::string& mode) { SpinningMonkey demo; demo.Run(); } + else if (mode == "god") { + std::cout << "Starting God Sandbox..." << std::endl; + GodSandbox demo; + demo.Run(); + } + else if (mode == "grass") { + std::cout << "Starting Grass/Pools/Shadows Demo..." << std::endl; + GrassPoolsDemo demo; + demo.Run(); + } + else if (mode == "sunset") { + std::cout << "Starting Sunset Forest (HDR) Demo..." << std::endl; + SunsetForestDemo demo; + demo.Run(); + } + else if (mode == "sanctuary" || mode == "full") { + std::cout << "Starting Sanctuary (Full Engine Showcase)..." << std::endl; + SanctuaryDemo demo; + demo.Run(); + } + else if (mode == "dam") { + std::cout << "Starting Dam (Multi-water) Demo..." << std::endl; + DamDemo demo; + demo.Run(); + } + else if (mode == "waterfall") { + std::cout << "Starting Waterfall (Flow Physics) Demo..." << std::endl; + WaterfallDemo demo; + demo.Run(); + } + else if (mode.rfind("loadworld:", 0) == 0) { + std::string path = mode.substr(10); + std::cout << "Loading world: " << path << std::endl; + GodSandbox demo; + demo.SetLoadPath(path); + demo.Run(); + } else { std::cout << "Starting Scene Demo..." << std::endl; SceneDemo demo; @@ -686,6 +2833,7 @@ int main(int argc, char** argv) { { "label": "Stress Test", "action": "stress" }, { "label": "Spinning Monkey", "action": "monkey" }, { "label": "Monkey Grid", "action": "monkeygrid" }, + { "label": "God Sandbox", "action": "god" }, { "label": "Level Editor", "action": "edit" }, { "label": "Quit", "action": "quit" } ] @@ -694,6 +2842,59 @@ int main(int argc, char** argv) { } } + // Inject one menu entry per worlds/*.json file, before the Quit item. + { + namespace fs = std::filesystem; + std::error_code ec; + std::vector worldFiles; + for (const char* dir : {"worlds", "../worlds"}) { + if (!fs::exists(dir, ec)) continue; + for (auto& e : fs::directory_iterator(dir, ec)) { + if (e.path().extension() == ".json") + worldFiles.push_back(e.path().string()); + } + break; + } + if (!worldFiles.empty() && menuConfig.has("items") + && menuConfig["items"].is_array()) { + json::Array items = menuConfig["items"].as_array(); + json::Array rebuilt; + bool inserted = false; + for (auto& it : items) { + if (!inserted && it.is_object() + && it.get_string("action") == "quit") { + for (auto& path : worldFiles) { + fs::path p(path); + json::Object entry; + entry["label"] = json::Value( + std::string("World: ") + p.stem().string()); + entry["action"] = json::Value( + std::string("loadworld:") + path); + rebuilt.push_back(json::Value(entry)); + } + inserted = true; + } + rebuilt.push_back(it); + } + if (!inserted) { + for (auto& path : worldFiles) { + fs::path p(path); + json::Object entry; + entry["label"] = json::Value( + std::string("World: ") + p.stem().string()); + entry["action"] = json::Value( + std::string("loadworld:") + path); + rebuilt.push_back(json::Value(entry)); + } + } + json::Object newCfg = menuConfig.as_object(); + newCfg["items"] = json::Value(rebuilt); + menuConfig = json::Value(newCfg); + std::cout << "Loaded " << worldFiles.size() + << " saved world(s) into menu" << std::endl; + } + } + // Menu loop: show menu, launch scene, return to menu while (true) { std::string action;