Commit Graph
305 Commits
Author SHA1 Message Date
西风逍遥游 f7b732def2 feat(tactics): add deterministic battle module and KayKit showcase 2026-08-29 09:23:46 +08:00
西风逍遥游 01661c60cb Merge remote-tracking branch 'origin/dev' into codex/rpg-api-gap
# Conflicts:
#	scripts/architecture_contracts.json
2026-08-29 03:13:27 +08:00
西风逍遥游 cbf139db0a Merge pull request #284 from EVEngine/codex/graphics-draw-text
feat(graphics): add stateless drawText API
2026-08-28 23:42:58 +08:00
西风逍遥游 4e3b60d98e Merge pull request #285 from EVEngine/codex/combat-system-90-parity
feat(combat): add ability framework and action editor
2026-08-28 23:42:46 +08:00
西风逍遥游 2d849be6b1 Merge pull request #281 from EVEngine/codex/climbing-parkour-system
feat: add climbing and parkour gameplay system
2026-08-28 23:42:07 +08:00
西风逍遥游 c1ece61155 feat(editor): add interactive combat action example 2026-08-28 21:49:14 +08:00
西风逍遥游 dbd6628cc9 chore: update .gitignore to exclude log files; enhance Makefile with debug targets for win32, linux, and macosx; refine ClassicScenes documentation and add phase frame dumping; adjust inventory example UI layout 2026-08-28 21:47:16 +08:00
西风逍遥游 c70245c9e4 feat(graphics): add stateless drawText API 2026-08-28 20:45:42 +08:00
西风逍遥游 9ff0a026eb feat: add climbing and parkour system 2026-08-28 20:21:50 +08:00
西风逍遥游 6cc4e8b602 feat(rpg): RPG-Maker-style main model + complete RPG interface
Extend the RPG module into a data-driven RPG-Maker-style main model and add
a complete turn-based RPG example demonstrating the whole surface.

New RPG subsystems (all string-keyed, JSON-driven, Squirrel-bound):
- Quest tracker: QuestRegistry + Tracker + QuestSystem (states, notify,
  prerequisite chain, events); eve.RPG.newTracker().
- Progression: LevelSystem + RPGActor::Progression (XP/level/level-up events).
- Vitals: VitalsSystem + RPGActor::Vitals (current resource, takeDamage/heal/
  death/revive).
- Traits: Trait/TraitSystem + RPGActor::Traits (paramRate, elementRate,
  stateRate/resist, exParam, attack elements/states/times/speed).
- Turn-based battle: BattleSystem (damage-formula DSL "a.atk*4-b.def*2",
  hit/crit/element) + Battle (arbitrary sides, initiative order, target
  resolution, winner detection, events).
- Classes: Class/ClassSystem + RPGActor::ClassInfo (class traits + learn
  skills by level).
- GameState: global switches/variables/self-variables.
- Equipment + loot: EquipmentSystem (equip -> attribute modifiers) and
  LootSystem (loot table -> inventory Bag), via the inventory module.

Bindings: bind RPGActor::release for script-side destruction; wrap
registerSkillDamage double as float (SQUSEDOUBLE).

Example: examples/rpg-classic - complete RPG interface (bag/shop/stat
allocation/equipment/adjust every 3 waves/status screen anytime).

Tests: rpg_quest, rpg_progression, rpg_trait, rpg_battle, rpg_class,
rpg_gamestate, rpg_equipment (loot). Full rpg.* regression green.
2026-08-28 15:02:13 +08:00
西风逍遥游 dd4771a4a4 test(combat): verify framework composition parity 2026-08-28 14:25:23 +08:00
西风逍遥游 093cdd6b72 feat(combat): add standard ability catalog 2026-08-28 14:21:11 +08:00
西风逍遥游 fb5c85b01b feat(combat): add regenerating combat attributes 2026-08-28 14:14:38 +08:00
西风逍遥游 932c9cbb26 feat(action): unify player and AI ability intents 2026-08-28 14:06:30 +08:00
西风逍遥游 0ec81094bd feat(weapon): add pooled projectile runtime 2026-08-28 14:02:18 +08:00
西风逍遥游 d44cb5cd0b feat(editor): preview animation root motion 2026-08-28 13:52:51 +08:00
西风逍遥游 14ea51e117 feat(editor): add transactional action preview controller 2026-08-28 13:44:13 +08:00
西风逍遥游 6d23fdf414 feat(editor): add interactive action timeline widget 2026-08-28 13:32:54 +08:00
西风逍遥游 f2c9699420 feat(combat): add action notify registry 2026-08-28 13:20:18 +08:00
西风逍遥游 e81803bdfd feat(combat): add damage and hit reactions 2026-08-28 13:10:20 +08:00
西风逍遥游 3287bd7b0a feat(combat): add unified ability runtime 2026-08-28 13:03:04 +08:00
西风逍遥游 c7c1091252 feat(combat): add hierarchical gameplay tags 2026-08-28 12:51:07 +08:00
西风逍遥游 fc177c3e88 feat(combat): add action timeline editor core 2026-08-28 12:39:44 +08:00
西风逍遥游 d9ff179810 refactor(physics): rename particle fluid to Fluid2D 2026-08-28 09:13:28 +08:00
西风逍遥游 63246b8c68 fix: complete architecture consolidation contracts 2026-08-28 00:01:55 +08:00
西风逍遥游 293be41d66 Merge remote-tracking branch 'origin/dev' into codex/architecture-consolidation
# Conflicts:
#	cmake/module_manifest.cmake
#	docs/usr/modules/procgen.md
#	src/engine/CMakeLists.txt
#	src/engine/cmdline/Run.cpp
#	src/engine/common/ScriptModule.h
#	src/modules/animation/Animation.cpp
#	src/modules/physics/World.cpp
#	src/modules/physics/World3D.cpp
#	src/modules/procgen/Procgen.cpp
#	src/modules/procgen/Procgen.h
#	src/modules/scene/SceneCapabilities.cpp
#	src/modules/schema/Schema.cpp
#	src/modules/schema/Schema.h
2026-08-27 14:52:28 +08:00
西风逍遥游 a8b8e83128 refactor: consolidate engine architecture contracts 2026-08-27 12:54:48 +08:00
西风逍遥游 c624833351 feat(webgpu): add vk-bootstrap-style C++ layer to block infeasible API calls
Add a systematic C++ wrapper layer for the WebGPU backend, mirroring the
vulkan backend's vkbuilder patterns so invalid API usage is rejected at
compile time / type level instead of via scattered runtime flags.

New layer (src/modules/graphics/webgpu/):
- wgpu_types.h: cross-platform webgpu_cpp.h include + sv() helpers
- Capabilities: read-only snapshot of adapter/device limits (GetLimits),
  sample-count/format/bind-group predicates
- InitFlow: typed Instance->Adapter->Device state machine wrapping the async
  request + ProcessEvents busy-wait (skipping a step is a compile error)
- SamplerBuilder/BindGroupLayoutBuilder/PipelineBuilder: build the C++ wrapper
  descriptors directly (zero-init == WebGPU defaults), eliminating the
  writeMask=0 / sampleMask=0 / alphaMode default-mask traps

Graphics.cpp migration:
- initHeadless/initWithWindow now drive InitFlow; drop the 4 std::atomic<bool>
  flags, waitForAdapter/Device, createInstanceAndAdapter/requestDevice
- convert 8 bind-group-layout, 7 pipeline-layout, 3 2D-pipeline functions and
  makeWgslModule to build C++ wrapper descriptors directly (reinterpret_cast
  127 -> 114; remaining texture/buffer/renderpass conversions deferred)

Design spec: docs/dev/superpowers/specs/2026-08-26-webgpu-vkbuilder-style-cpp-layer.md

Verified: build/webgpu-native (native Dawn, MSVC Debug+Ninja) compiles and
links eve.exe (1633/1633). SSAO/decal stub-tightening (PR4) was dropped as
obsolete - dev already has real implementations.
2026-08-26 17:22:57 +08:00
西风逍遥游 c4cf06331f test(procgen): add GPU execution acceptance suite 2026-08-26 15:14:51 +08:00
西风逍遥游 556ac49f8b Merge remote-tracking branch 'origin/dev' into codex/ue-pcg-system 2026-08-26 14:50:11 +08:00
西风逍遥游 3eef8f0ccc feat(procgen): fuse point transform dispatches 2026-08-26 13:35:24 +08:00
西风逍遥游 d539530b27 Merge pull request #260 from EVEngine/codex/particle-system-professional
feat(particles): professional particle system pipeline
2026-08-26 10:15:28 +08:00
西风逍遥游 fd04a8a019 Merge pull request #259 from EVEngine/codex/mature-shaders
feat(stylize): port mature Unity/Godot-style effect shaders
2026-08-26 09:45:51 +08:00
西风逍遥游 9c88612acd Merge pull request #257 from EVEngine/codex/procedural-hex-terrain
feat: add procedural civilization-style hex terrain
2026-08-26 08:46:26 +08:00
西风逍遥游 279975027e feat(stylize): port mature Unity/Godot-style effect shaders
Add 7 shaders to the stylize module, exposed through the existing
Style* runtime and Squirrel API (no new module or bindings):

- Mesh materials (reuse mesh3d_toon.vert): rim light, dissolve,
  hologram, snow accumulation.
- Post passes: vignette, chromatic aberration, film grain.

Original GLSL implementations of common techniques, not verbatim
copies (see docs/dev/ported-material-shaders.md for licensing).

Adds EffectShaders.{h,cpp} with param tables + uniform binding +
shader creation, wired via delegation from StyleShaders.cpp, plus
SPIR-V embeds and per-module tests (test/stylize_effects.cpp).
2026-08-26 08:22:30 +08:00
西风逍遥游 c3dc33b4c6 Merge remote-tracking branch 'origin/dev' into codex/particle-system-professional
# Conflicts:
#	src/modules/graphics/vulkan/GraphicsPipeline.cpp
2026-08-26 07:55:16 +08:00
西风逍遥游 1809d6889b feat(particles): add exposed gameplay parameters 2026-08-26 03:45:07 +08:00
西风逍遥游 8d2e32bc1a feat(particles): add lit normal-mapped materials 2026-08-26 03:35:57 +08:00
西风逍遥游 835323116b feat(particles): add scene-depth soft particles 2026-08-26 03:15:39 +08:00
西风逍遥游 b287785468 feat(particles): add connected ribbon trails 2026-08-26 02:54:04 +08:00
西风逍遥游 a4ed45fa49 feat: add procedural civilization-style hex terrain 2026-08-26 02:50:01 +08:00
西风逍遥游 11d3fe54f5 feat(particles): add facing modes and transparent sorting 2026-08-26 02:49:53 +08:00
西风逍遥游 f72d2cd019 feat(particles): add GPU-resident simulation and indirect rendering 2026-08-26 02:41:31 +08:00
西风逍遥游 1a58e4d809 feat(ui): unify presentation and component framework 2026-08-26 02:35:29 +08:00
西风逍遥游 fefb7e9162 Merge pull request #250 from EVEngine/codex/weapon-system-v2
weapon: multi-form weapon system (kind/resource/stage) + P0 combat features
2026-08-26 01:34:19 +08:00
西风逍遥游 d608390dfc Merge pull request #242 from EVEngine/codex/animation-retarget-profile
feat(animation): improve retargeting and locomotion sync
2026-08-26 01:33:53 +08:00
西风逍遥游 043cc3b372 feat(particles): add scalable budgets and frame profiling 2026-08-26 01:30:11 +08:00
西风逍遥游 8f5969fbb3 feat(particles): add deterministic professional playback controls 2026-08-26 01:03:32 +08:00
西风逍遥游 fa18e77b75 weapon: multi-form weapon system (kind/resource/stage) + P0 combat features
Generalize the weapon module from gun-only into a data-driven, cuttable
multi-form system supporting hot / melee / magic / missile weapons for
RPG / RTS / ARPG.

Core (WeaponTypes.h / WeaponSystem.cpp):
- WeaponKind (melee/ranged/magic/missile/custom) selects the attack form.
- AttackResource gates triggers by ammo/mana/charges/stamina/none.
- AttackStage machine (Idle->Windup->Active->Recover) replaces the hard-coded
  reload/burst path for non-ranged forms; hot weapons keep the mature pipeline
  so ranged behavior is byte-identical (regression baseline).
- IWeaponLogic gains begin/channel/end hooks (default no-op, backward compat).
- AttackRequest generalizes FireRequest (target handle, arc, aoe).
- WeaponRigEntity for hand-held weapons; WeaponMountEntity (turret) unchanged.

P0 combat features (data fields + event payloads, no arch change):
- Multi-pellet (shotgun), spread bloom, recoil model, runtime fire selector
  (safe/semi/auto), shared ammo pool (AmmoPoolEntity), damage type/element,
  ADS/zoom with aim_in/aim_out events.

Docs: 通用武器系统设计.md, 武器系统-对比Unity插件-差距分析.md.
Tests: test/weapon.cpp grows to 25 cases / 210 assertions, all passing.
2026-08-25 22:15:01 +08:00
西风逍遥游 52a9fe1b30 feat(animation): add marker-based locomotion sync 2026-08-25 19:43:07 +08:00