Commit Graph

4987 Commits

Author SHA1 Message Date
5dc0fd02d2 Initialize state drafts for trigger volume rotation and NPC scale 2026-05-11 14:05:07 +02:00
26c3699499 Add default constants for NPC scale and trigger volume rotation 2026-05-11 14:05:07 +02:00
e1471629d8 Apply NPC scale factors to collision and dimension calculations 2026-05-11 14:03:20 +02:00
ec284483b6 Refine player trigger volume raycast bounds check in local space 2026-05-11 14:03:02 +02:00
e0030c8bc5 Apply scaling factor to NPC target radius calculations 2026-05-11 14:03:02 +02:00
eb0a8a429f Scale NPC dialogue target bounds calculations 2026-05-11 14:01:53 +02:00
3d03a4f6b9 Apply NPC scale to render and collision groups 2026-05-11 14:01:53 +02:00
fa5150ea5f Apply scaling to NPC collider dimensions (capsule and box) 2026-05-11 14:01:21 +02:00
f1ef5a37de Pass rotation and scale when building runtime scene collections 2026-05-11 14:01:21 +02:00
649e4ae717 Add scale support to RuntimeNpc and RuntimeTriggerVolume definitions 2026-05-11 14:01:21 +02:00
4f48ff7d94 Implement viewport rendering for triggerVolume and npc entities 2026-05-11 14:00:38 +02:00
7c36d50ee0 Update ViewportHost to handle triggerVolume and NPC transforms 2026-05-11 14:00:05 +02:00
a244f00079 Add scale property to ViewportHost 2026-05-11 14:00:05 +02:00
da0647495c Apply entity rotation degrees when creating trigger volume render objects 2026-05-11 13:59:36 +02:00
9b80afca6a Use dynamic entity scale in ViewportHost 2026-05-11 13:59:22 +02:00
d6cf9ec001 Implement dedicated handling for trigger volumes and adjust camera rig scaling for NPCs 2026-05-11 13:59:11 +02:00
e25302d940 Remove axis-aligned box surface snap support points creation 2026-05-11 13:59:11 +02:00
3b273999e1 Update surface snap calculation to use oriented bounding boxes 2026-05-11 13:58:49 +02:00
c807b34d8d Add support for oriented box surface snap points 2026-05-11 13:58:49 +02:00
9ae201d13f Implement support for oriented box surface snap points 2026-05-11 13:58:24 +02:00
77e6a147ea Refactor target kind checks for scale operation using supportsTransformOperation 2026-05-11 13:58:14 +02:00
937be04240 Implement quaternion creation for euler rotation type in ViewportHost 2026-05-11 13:58:14 +02:00
99e8e136e2 Refactor viewport scaling logic to support model instances and improve entity scale handling 2026-05-11 13:57:42 +02:00
7128912042 Add helper method to resolve entity scale constraint axis 2026-05-11 13:56:56 +02:00
7e68139523 Feat: Support scale previews for entities and improve viewport target handling 2026-05-11 13:56:47 +02:00
954acbcd93 Enhance ViewportHost state management: Add scale consistency and implement euler rotation updates 2026-05-11 13:56:29 +02:00
27996819bd Refactor ViewportHost state calculation to support scale and improve euler rotation handling 2026-05-11 13:56:16 +02:00
2983fbdcf6 Include scale in ViewportHost target state calculation 2026-05-11 13:56:16 +02:00
57944ee147 Add utility functions for transform states and material caching 2026-05-11 13:55:56 +02:00
72bae09629 Add transform state types and default constants 2026-05-11 13:55:56 +02:00
f073e4247b Enhance entity transformation logic to support euler rotations and detailed size/scale properties 2026-05-11 13:55:31 +02:00
c90c51b31f auto-git:
[change] src/core/transform-session.ts
2026-05-11 13:55:20 +02:00
a101249d26 auto-git:
[change] src/core/transform-session.ts
2026-05-11 13:55:20 +02:00
245b433d24 auto-git:
[change] src/entities/entity-instances.ts
2026-05-11 13:55:20 +02:00
495327cc6c Add scale support to NPC creation and rotation support to Trigger Volume creation 2026-05-11 13:51:52 +02:00
6a6e3b4037 Add scale and rotation support to entity definitions and defaults 2026-05-11 13:51:33 +02:00
69258ad35e Enhance tests for foliage render batches, adding checks for LOD stability and quality disabling 2026-05-03 13:36:25 +02:00
4bb8d197fe Refactor foliage rendering view state and chunk visibility tracking 2026-05-03 13:36:05 +02:00
dcf6778423 Improve hysteresis distance calculation and add view frustum checks for foliage culling 2026-05-03 13:35:21 +02:00
1a99be759d Enhance foliage rendering with cached chunk metrics, hysteresis LOD selection, and updated culling logic 2026-05-03 13:35:12 +02:00
8d6d53d5a6 Improve foliage instanced renderer tests with target support and state validation 2026-05-03 13:28:01 +02:00
6dd08215ef Remove unused Three.js imports from foliage instanced renderer tests 2026-05-03 13:24:27 +02:00
eba6392983 Improve mock implementation for foliage model loader in tests 2026-05-03 13:23:14 +02:00
7886f4cfa0 Add unit tests for FoliageInstancedRenderer 2026-05-03 13:23:14 +02:00
9f5280ef80 Add tests for foliage resource planning and LOD resolution 2026-05-03 13:22:34 +02:00
95276e671c Refactor foliage rendering pipeline to use resource signatures and view visibility 2026-05-03 13:21:08 +02:00
64ffe9cbf0 Implement foliage resource planning and chunking for rendering 2026-05-03 13:20:34 +02:00
1e934ae57c auto-git:
[change] public/foliage/Grass/BlueFescue/BlueFescue_LOD0.glb
 [change] public/foliage/Grass/BlueFescue/BlueFescue_LOD1.glb
 [change] public/foliage/Grass/BlueFescue/BlueFescue_LOD2.glb
 [change] public/foliage/Grass/BlueFescue/BlueFescue_LOD3.glb
 [change] public/foliage/Grass/BroadBlade/BroadBlade_LOD0.glb
 [change] public/foliage/Grass/BroadBlade/BroadBlade_LOD1.glb
 [change] public/foliage/Grass/BroadBlade/BroadBlade_LOD2.glb
 [change] public/foliage/Grass/BroadBlade/BroadBlade_LOD3.glb
 [change] public/foliage/Grass/DryTuft/DryTuft_LOD0.glb
 [change] public/foliage/Grass/DryTuft/DryTuft_LOD1.glb
 [change] public/foliage/Grass/DryTuft/DryTuft_LOD2.glb
 [change] public/foliage/Grass/DryTuft/DryTuft_LOD3.glb
 [change] public/foliage/Grass/Foxtail/Foxtail_LOD0.glb
 [change] public/foliage/Grass/Foxtail/Foxtail_LOD1.glb
 [change] public/foliage/Grass/Foxtail/Foxtail_LOD2.glb
 [change] public/foliage/Grass/Foxtail/Foxtail_LOD3.glb
 [change] public/foliage/Grass/MarshReed/MarshReed_LOD0.glb
 [change] public/foliage/Grass/MarshReed/MarshReed_LOD1.glb
 [change] public/foliage/Grass/MarshReed/MarshReed_LOD2.glb
 [change] public/foliage/Grass/MarshReed/MarshReed_LOD3.glb
 [change] public/foliage/Grass/MeadowSoft/MeadowSoft_LOD0.glb
 [change] public/foliage/Grass/MeadowSoft/MeadowSoft_LOD1.glb
 [change] public/foliage/Grass/MeadowSoft/MeadowSoft_LOD2.glb
 [change] public/foliage/Grass/MeadowSoft/MeadowSoft_LOD3.glb
 [change] public/foliage/Grass/SparseField/SparseField_LOD0.glb
 [change] public/foliage/Grass/SparseField/SparseField_LOD1.glb
 [change] public/foliage/Grass/SparseField/SparseField_LOD2.glb
 [change] public/foliage/Grass/SparseField/SparseField_LOD3.glb
 [change] public/foliage/Grass/Windswept/Windswept_LOD0.glb
 [change] public/foliage/Grass/Windswept/Windswept_LOD1.glb
 [change] public/foliage/Grass/Windswept/Windswept_LOD2.glb
 [change] public/foliage/Grass/Windswept/Windswept_LOD3.glb
 [change] public/foliage/GrassDry/BrittleGrassClump/BrittleGrassClump_LOD0.glb
 [change] public/foliage/GrassDry/BrittleGrassClump/BrittleGrassClump_LOD1.glb
 [change] public/foliage/GrassDry/BrittleGrassClump/BrittleGrassClump_LOD2.glb
 [change] public/foliage/GrassDry/BrittleGrassClump/BrittleGrassClump_LOD3.glb
 [change] public/foliage/GrassDry/BrokenHayPile/BrokenHayPile_LOD0.glb
 [change] public/foliage/GrassDry/BrokenHayPile/BrokenHayPile_LOD1.glb
 [change] public/foliage/GrassDry/BrokenHayPile/BrokenHayPile_LOD2.glb
 [change] public/foliage/GrassDry/BrokenHayPile/BrokenHayPile_LOD3.glb
 [change] public/foliage/GrassDry/CutStubblePatch/CutStubblePatch_LOD0.glb
 [change] public/foliage/GrassDry/CutStubblePatch/CutStubblePatch_LOD1.glb
 [change] public/foliage/GrassDry/CutStubblePatch/CutStubblePatch_LOD2.glb
 [change] public/foliage/GrassDry/CutStubblePatch/CutStubblePatch_LOD3.glb
 [change] public/foliage/GrassDry/DryTuftFan/DryTuftFan_LOD0.glb
 [change] public/foliage/GrassDry/DryTuftFan/DryTuftFan_LOD1.glb
 [change] public/foliage/GrassDry/DryTuftFan/DryTuftFan_LOD2.glb
 [change] public/foliage/GrassDry/DryTuftFan/DryTuftFan_LOD3.glb
 [change] public/foliage/GrassDry/GoldenSparseGrass/GoldenSparseGrass_LOD0.glb
 [change] public/foliage/GrassDry/GoldenSparseGrass/GoldenSparseGrass_LOD1.glb
 [change] public/foliage/GrassDry/GoldenSparseGrass/GoldenSparseGrass_LOD2.glb
 [change] public/foliage/GrassDry/GoldenSparseGrass/GoldenSparseGrass_LOD3.glb
 [change] public/foliage/GrassDry/MownClippings/MownClippings_LOD0.glb
 [change] public/foliage/GrassDry/MownClippings/MownClippings_LOD1.glb
 [change] public/foliage/GrassDry/MownClippings/MownClippings_LOD2.glb
 [change] public/foliage/GrassDry/MownClippings/MownClippings_LOD3.glb
 [change] public/foliage/GrassDry/StrawLitterMat/StrawLitterMat_LOD0.glb
 [change] public/foliage/GrassDry/StrawLitterMat/StrawLitterMat_LOD1.glb
 [change] public/foliage/GrassDry/StrawLitterMat/StrawLitterMat_LOD2.glb
 [change] public/foliage/GrassDry/StrawLitterMat/StrawLitterMat_LOD3.glb
 [change] public/foliage/GrassDry/WheatStubbleRow/WheatStubbleRow_LOD0.glb
 [change] public/foliage/GrassDry/WheatStubbleRow/WheatStubbleRow_LOD1.glb
 [change] public/foliage/GrassDry/WheatStubbleRow/WheatStubbleRow_LOD2.glb
 [change] public/foliage/GrassDry/WheatStubbleRow/WheatStubbleRow_LOD3.glb
 [change] public/foliage/GrassTall/BentWildGrass/BentWildGrass_LOD0.glb
 [change] public/foliage/GrassTall/BentWildGrass/BentWildGrass_LOD1.glb
 [change] public/foliage/GrassTall/BentWildGrass/BentWildGrass_LOD2.glb
 [change] public/foliage/GrassTall/BentWildGrass/BentWildGrass_LOD3.glb
 [change] public/foliage/GrassTall/DryPrairieClump/DryPrairieClump_LOD0.glb
 [change] public/foliage/GrassTall/DryPrairieClump/DryPrairieClump_LOD1.glb
 [change] public/foliage/GrassTall/DryPrairieClump/DryPrairieClump_LOD2.glb
 [change] public/foliage/GrassTall/DryPrairieClump/DryPrairieClump_LOD3.glb
 [change] public/foliage/GrassTall/FeatherGrassClump/FeatherGrassClump_LOD0.glb
 [change] public/foliage/GrassTall/FeatherGrassClump/FeatherGrassClump_LOD1.glb
 [change] public/foliage/GrassTall/FeatherGrassClump/FeatherGrassClump_LOD2.glb
 [change] public/foliage/GrassTall/FeatherGrassClump/FeatherGrassClump_LOD3.glb
 [change] public/foliage/GrassTall/ReedGrassClump/ReedGrassClump_LOD0.glb
 [change] public/foliage/GrassTall/ReedGrassClump/ReedGrassClump_LOD1.glb
 [change] public/foliage/GrassTall/ReedGrassClump/ReedGrassClump_LOD2.glb
 [change] public/foliage/GrassTall/ReedGrassClump/ReedGrassClump_LOD3.glb
 [change] public/foliage/GrassTall/SeedStemClump/SeedStemClump_LOD0.glb
 [change] public/foliage/GrassTall/SeedStemClump/SeedStemClump_LOD1.glb
 [change] public/foliage/GrassTall/SeedStemClump/SeedStemClump_LOD2.glb
 [change] public/foliage/GrassTall/SeedStemClump/SeedStemClump_LOD3.glb
 [change] public/foliage/GrassTall/TallMeadowClump/TallMeadowClump_LOD0.glb
 [change] public/foliage/GrassTall/TallMeadowClump/TallMeadowClump_LOD1.glb
 [change] public/foliage/GrassTall/TallMeadowClump/TallMeadowClump_LOD2.glb
 [change] public/foliage/GrassTall/TallMeadowClump/TallMeadowClump_LOD3.glb
 [change] public/foliage/GrassTall/TuftedRushClump/TuftedRushClump_LOD0.glb
 [change] public/foliage/GrassTall/TuftedRushClump/TuftedRushClump_LOD1.glb
 [change] public/foliage/GrassTall/TuftedRushClump/TuftedRushClump_LOD2.glb
 [change] public/foliage/GrassTall/TuftedRushClump/TuftedRushClump_LOD3.glb
 [change] public/foliage/GrassTall/WildOatClump/WildOatClump_LOD0.glb
 [change] public/foliage/GrassTall/WildOatClump/WildOatClump_LOD1.glb
 [change] public/foliage/GrassTall/WildOatClump/WildOatClump_LOD2.glb
 [change] public/foliage/GrassTall/WildOatClump/WildOatClump_LOD3.glb
 [change] public/foliage/Weed/CloverPatch/CloverPatch_LOD0.glb
 [change] public/foliage/Weed/CloverPatch/CloverPatch_LOD1.glb
 [change] public/foliage/Weed/CloverPatch/CloverPatch_LOD2.glb
 [change] public/foliage/Weed/CloverPatch/CloverPatch_LOD3.glb
 [change] public/foliage/Weed/DandelionRosette/DandelionRosette_LOD0.glb
 [change] public/foliage/Weed/DandelionRosette/DandelionRosette_LOD1.glb
 [change] public/foliage/Weed/DandelionRosette/DandelionRosette_LOD2.glb
 [change] public/foliage/Weed/DandelionRosette/DandelionRosette_LOD3.glb
 [change] public/foliage/Weed/DockWeed/DockWeed_LOD0.glb
 [change] public/foliage/Weed/DockWeed/DockWeed_LOD1.glb
 [change] public/foliage/Weed/DockWeed/DockWeed_LOD2.glb
 [change] public/foliage/Weed/DockWeed/DockWeed_LOD3.glb
 [change] public/foliage/Weed/GroundIvy/GroundIvy_LOD0.glb
 [change] public/foliage/Weed/GroundIvy/GroundIvy_LOD1.glb
 [change] public/foliage/Weed/GroundIvy/GroundIvy_LOD2.glb
 [change] public/foliage/Weed/GroundIvy/GroundIvy_LOD3.glb
 [change] public/foliage/Weed/NettlePatch/NettlePatch_LOD0.glb
 [change] public/foliage/Weed/NettlePatch/NettlePatch_LOD1.glb
 [change] public/foliage/Weed/NettlePatch/NettlePatch_LOD2.glb
 [change] public/foliage/Weed/NettlePatch/NettlePatch_LOD3.glb
 [change] public/foliage/Weed/PlantainCluster/PlantainCluster_LOD0.glb
 [change] public/foliage/Weed/PlantainCluster/PlantainCluster_LOD1.glb
 [change] public/foliage/Weed/PlantainCluster/PlantainCluster_LOD2.glb
 [change] public/foliage/Weed/PlantainCluster/PlantainCluster_LOD3.glb
 [change] public/foliage/Weed/RagweedSprig/RagweedSprig_LOD0.glb
 [change] public/foliage/Weed/RagweedSprig/RagweedSprig_LOD1.glb
 [change] public/foliage/Weed/RagweedSprig/RagweedSprig_LOD2.glb
 [change] public/foliage/Weed/RagweedSprig/RagweedSprig_LOD3.glb
 [change] public/foliage/Weed/ThistleRosette/ThistleRosette_LOD0.glb
 [change] public/foliage/Weed/ThistleRosette/ThistleRosette_LOD1.glb
 [change] public/foliage/Weed/ThistleRosette/ThistleRosette_LOD2.glb
 [change] public/foliage/Weed/ThistleRosette/ThistleRosette_LOD3.glb
 [change] public/foliage/WheatUnderstory/BroadPlantainPatch/BroadPlantainPatch_LOD0.glb
 [change] public/foliage/WheatUnderstory/BroadPlantainPatch/BroadPlantainPatch_LOD1.glb
 [change] public/foliage/WheatUnderstory/BroadPlantainPatch/BroadPlantainPatch_LOD2.glb
 [change] public/foliage/WheatUnderstory/BroadPlantainPatch/BroadPlantainPatch_LOD3.glb
 [change] public/foliage/WheatUnderstory/ChickweedMat/ChickweedMat_LOD0.glb
 [change] public/foliage/WheatUnderstory/ChickweedMat/ChickweedMat_LOD1.glb
 [change] public/foliage/WheatUnderstory/ChickweedMat/ChickweedMat_LOD2.glb
 [change] public/foliage/WheatUnderstory/ChickweedMat/ChickweedMat_LOD3.glb
 [change] public/foliage/WheatUnderstory/FieldWeedSprig/FieldWeedSprig_LOD0.glb
 [change] public/foliage/WheatUnderstory/FieldWeedSprig/FieldWeedSprig_LOD1.glb
 [change] public/foliage/WheatUnderstory/FieldWeedSprig/FieldWeedSprig_LOD2.glb
 [change] public/foliage/WheatUnderstory/FieldWeedSprig/FieldWeedSprig_LOD3.glb
 [change] public/foliage/WheatUnderstory/RedCloverTuft/RedCloverTuft_LOD0.glb
 [change] public/foliage/WheatUnderstory/RedCloverTuft/RedCloverTuft_LOD1.glb
 [change] public/foliage/WheatUnderstory/RedCloverTuft/RedCloverTuft_LOD2.glb
 [change] public/foliage/WheatUnderstory/RedCloverTuft/RedCloverTuft_LOD3.glb
 [change] public/foliage/WheatUnderstory/RibwortPlantain/RibwortPlantain_LOD0.glb
 [change] public/foliage/WheatUnderstory/RibwortPlantain/RibwortPlantain_LOD1.glb
 [change] public/foliage/WheatUnderstory/RibwortPlantain/RibwortPlantain_LOD2.glb
 [change] public/foliage/WheatUnderstory/RibwortPlantain/RibwortPlantain_LOD3.glb
 [change] public/foliage/WheatUnderstory/TinyBlueFlowerClump/TinyBlueFlowerClump_LOD0.glb
 [change] public/foliage/WheatUnderstory/TinyBlueFlowerClump/TinyBlueFlowerClump_LOD1.glb
 [change] public/foliage/WheatUnderstory/TinyBlueFlowerClump/TinyBlueFlowerClump_LOD2.glb
 [change] public/foliage/WheatUnderstory/TinyBlueFlowerClump/TinyBlueFlowerClump_LOD3.glb
 [change] public/foliage/WheatUnderstory/TinyDaisyClump/TinyDaisyClump_LOD0.glb
 [change] public/foliage/WheatUnderstory/TinyDaisyClump/TinyDaisyClump_LOD1.glb
 [change] public/foliage/WheatUnderstory/TinyDaisyClump/TinyDaisyClump_LOD2.glb
 [change] public/foliage/WheatUnderstory/TinyDaisyClump/TinyDaisyClump_LOD3.glb
 [change] public/foliage/WheatUnderstory/WhiteCloverPatch/WhiteCloverPatch_LOD0.glb
 [change] public/foliage/WheatUnderstory/WhiteCloverPatch/WhiteCloverPatch_LOD1.glb
 [change] public/foliage/WheatUnderstory/WhiteCloverPatch/WhiteCloverPatch_LOD2.glb
 [change] public/foliage/WheatUnderstory/WhiteCloverPatch/WhiteCloverPatch_LOD3.glb
2026-05-03 12:43:28 +02:00
4d0febed2a Update scene document migration to support new foliage versions 2026-05-02 11:37:00 +02:00
89a9c8ddca Add validation test for invalid terrain foliage blocker masks 2026-05-02 11:35:14 +02:00