025bf4d0b9
feat(renderer): add G-Buffer compression with octahedral normals and depth reconstruction
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 17:21:05 +09:00
039dbe0d09
feat(renderer): add RT reflections, RT AO, and RT point/spot shadows
...
Add three new compute shader modules extending the existing RT shadow system:
- RT Reflections: screen-space reflection ray marching from G-Buffer
- RT Ambient Occlusion: hemisphere sampling with cosine-weighted directions
- RT Point/Spot Shadow: placeholder infrastructure for point/spot light shadows
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 16:37:25 +09:00
cc842d7c13
feat(renderer): add Progressive JPEG detection and scan parsing
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 16:33:52 +09:00
84dc7aeb20
feat(audio): add occlusion simulation with low-pass filter
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 16:33:04 +09:00
96efe113b2
feat(audio): add Reverb (Schroeder) and Echo effects
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 16:31:19 +09:00
98d40d6520
feat(net): add packet encryption and auth token
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 16:28:21 +09:00
6beafc6949
feat(net): add lag compensation with history rewind and interpolation
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 16:27:58 +09:00
28b24226e7
feat(audio): add simplified HRTF with ITD and ILD
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 16:27:05 +09:00
447473598a
feat(renderer): add motion blur compute shader
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:57:05 +09:00
0f08c65a1e
feat(physics): add ConvexHull collider with GJK support function
...
Add ConvexHull struct storing vertices with a support function that
returns the farthest point in a given direction, enabling GJK/EPA
collision detection. Update all Collider match arms across the physics
crate (collision, raycast, integrator, solver) to handle the new variant.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:49:38 +09:00
1b5da4d0d5
feat(physics): add ray vs mesh raycasting with MeshCollider
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:48:57 +09:00
07d7475410
feat(ai): add NavMesh binary serialization
...
Add serialize/deserialize methods directly on NavMesh with a proper
binary header (magic "VNAV" + version u32) for format validation.
Includes tests for roundtrip, invalid magic, empty mesh, header format,
and unsupported version.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:46:38 +09:00
764ee96ec1
feat(renderer): add screen space reflections compute shader
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:41:29 +09:00
41c7f9607e
feat(renderer): add TAA with Halton jitter and neighborhood clamping
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:40:53 +09:00
1f855b7bf6
feat(renderer): add temporal accumulation compute shader for SSGI
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:28:21 +09:00
1ea2d340e6
feat(renderer): add bilateral blur compute shader for SSGI denoising
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:28:20 +09:00
17ea3f4856
feat(renderer): add GPU instancing with instance buffer and pipeline
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:14:12 +09:00
7dbd94ebab
feat(renderer): add auto exposure with compute luminance and adaptation
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:08:50 +09:00
bbb11d9d47
feat(ecs): add tick-based change detection with query_changed
...
Add per-component tick tracking to SparseSet. Insert and get_mut mark
the current tick; increment_tick advances it. World gains query_changed
to find entities whose component changed this tick, and clear_changed
to advance all storages at end of frame.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 15:00:50 +09:00
afb95c9fb1
feat(renderer): add forward transparency pass with alpha blending
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 14:52:17 +09:00
5b3b06c318
feat(ai): add NavAgent ECS component
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 14:43:59 +09:00
6121530bfe
feat(audio): add AudioSource ECS component
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 14:43:48 +09:00
0cc6df15a3
feat(renderer): extend glTF parser with nodes, skins, animations support
...
Add GltfNode, GltfSkin, GltfAnimation, GltfChannel structs and parsing
for skeletal animation data. Extend GltfMesh with JOINTS_0/WEIGHTS_0
attribute extraction. All existing tests pass plus 4 new tests.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 14:38:25 +09:00
cccc54c438
feat(editor): integrate TTF font into UiContext with draw_text helper
...
Add ttf_font field to UiContext with draw_text and ttf_text_width
helpers that use TTF when available, falling back to bitmap font.
Load system TTF font (arial/consola/malgun) in editor_demo on startup.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 14:14:05 +09:00
58bce839fe
feat(editor): add TtfFont unified interface with glyph caching
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 14:12:02 +09:00
94e7f6262e
feat(editor): add GlyphCache on-demand atlas manager
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 14:10:16 +09:00
3b0a65ed17
feat(editor): add glyph rasterizer with bezier flattening and scanline fill
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 14:09:58 +09:00
e008178316
feat(editor): add self-implemented TTF parser with cmap, glyf, hmtx support
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 14:07:52 +09:00
0857446d74
feat(editor): add AssetBrowser with directory navigation and UI panel
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 13:36:23 +09:00
65b86c293c
feat(editor): add inspector_panel with Transform, Tag, Parent editing
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 10:57:23 +09:00
7fbc88b86f
feat(editor): add hierarchy_panel with entity tree display and selection
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 10:55:18 +09:00
14fe532432
feat(editor): integrate 3D viewport into editor_demo
...
Render actual 3D geometry (cubes + ground plane) in the Viewport panel
using the existing mesh_shader.wgsl Blinn-Phong pipeline with orbit
camera controls (left-drag to orbit, middle-drag to pan, scroll to zoom).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 10:40:41 +09:00
9f42300109
feat(editor): add ViewportRenderer blit pipeline and shader
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 10:35:15 +09:00
6ef248f76d
feat(editor): add OrbitCamera with orbit, zoom, pan controls
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 10:33:10 +09:00
ae20590f6e
feat(editor): add ViewportTexture offscreen render target
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 10:31:28 +09:00
f7ef228b49
feat(editor): integrate docking into editor_demo
...
Add full-frame-cycle integration test to dock.rs (16 tests total) and
update editor_demo to use DockTree layout instead of a single panel.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 10:09:53 +09:00
1571aa5f97
feat(editor): add draw_chrome for tab bars and split lines
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 09:57:18 +09:00
36fedb48bf
feat(editor): add update method with tab click and resize handling
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 09:54:57 +09:00
a642f8ef7e
fix(editor): address code review issues in dock module
...
- debug_assert → assert for empty tabs invariant
- tabs.len() - 1 → saturating_sub(1) to prevent underflow
- Add #[allow(dead_code)] for scaffolded structs/constants
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 09:52:53 +09:00
14784c731c
feat(editor): add dock tree data model and layout algorithm
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 09:49:53 +09:00
f522bf10ac
feat(script): add Lua table interop, coroutines, sandbox, hot reload
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 07:33:00 +09:00
63e59c0544
feat(editor): add text input, scroll panel, drag-and-drop widgets
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 07:32:55 +09:00
9f5f2df07c
feat(ai): add navmesh builder, funnel algorithm, dynamic obstacle avoidance
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 07:15:40 +09:00
1c2a8466e7
feat(audio): add OGG/Vorbis decoder, 24/32-bit WAV, Doppler effect
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 07:15:38 +09:00
0ef750de69
feat(net): add reliability layer, state sync, and client interpolation
...
- ReliableChannel: sequence numbers, ACK, retransmission, RTT estimation
- OrderedChannel: in-order delivery with out-of-order buffering
- Snapshot serialization with delta compression (per-field bitmask)
- InterpolationBuffer: linear interpolation between server snapshots
- New packet types: Reliable, Ack, Snapshot, SnapshotDelta
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 21:03:52 +09:00
dccea21bfe
feat(ai): add funnel string-pulling and navmesh serialization
...
Add Simple Stupid Funnel (SSF) algorithm for optimal path smoothing through
triangle corridors. Refactor A* to expose find_path_triangles for triangle
index paths. Add binary serialize/deserialize for NavMesh and shared_edge
query method.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 21:00:35 +09:00
1081fb472f
feat(renderer): improve IBL with Hosek-Wilkie sky, SH irradiance, GPU BRDF LUT
...
- Hosek-Wilkie inspired procedural sky (Rayleigh/Mie scattering, sun disk)
- L2 Spherical Harmonics irradiance (9 coefficients, CPU computation)
- SH evaluation in shader replaces sample_environment for diffuse IBL
- GPU compute BRDF LUT (Rg16Float, higher precision than CPU Rgba8Unorm)
- SkyParams (sun_direction, turbidity) in ShadowUniform
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 20:58:28 +09:00
abd6f5cf6e
feat(physics): add angular dynamics, sequential impulse solver, sleep system, BVH improvements, CCD, and ray extensions
...
- Angular velocity integration with diagonal inertia tensor (sphere/box/capsule)
- Angular impulse in collision solver (torque from off-center contacts)
- Sequential impulse solver with configurable iterations (default 4)
- Sleep/island system: bodies sleep after velocity threshold timeout, wake on collision
- Ray vs triangle intersection (Moller-Trumbore algorithm)
- raycast_all returning all hits sorted by distance
- BVH query_pairs replaced N^2 brute force with recursive tree traversal
- BVH query_ray for accelerated raycasting
- BVH refit for incremental AABB updates
- Swept sphere vs AABB continuous collision detection (CCD)
- Updated lib.rs exports for all new public APIs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 20:57:55 +09:00
1b0e12e824
feat(renderer): add CSM, point/spot shadows, and frustum light culling
...
- CascadedShadowMap: 2-cascade directional shadows with frustum-based splits
- PointShadowMap: cube depth texture with 6-face rendering
- SpotShadowMap: perspective shadow map from spot light cone
- Frustum light culling: Gribb-Hartmann plane extraction + sphere tests
- Mat4::inverse() for frustum corner computation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 20:55:43 +09:00
6bc77cb777
feat(renderer): add ORM and emissive texture map support to PBR pipeline
...
- Extended bind group 1: albedo + normal + ORM + emissive (8 bindings)
- pbr_shader.wgsl: ORM sampling (R=AO, G=roughness, B=metallic) + emissive
- deferred_gbuffer.wgsl: ORM + emissive luminance in material_data.w
- deferred_lighting.wgsl: emissive contribution from G-Buffer
- All 5 PBR examples updated with default ORM/emissive textures
- Backward compatible: old 4-binding layout preserved
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 20:41:30 +09:00