notevil
|
8dff4c0e03
|
WIP Phase 2.5 : fork render pipeline (PatchedEntityRenderer family)
Fork EF client renderer patched/entity/ → rig/render/, imports rewrités.
Nouveaux fichiers :
- render/PatchedEntityRenderer.java (~96 LOC, était stub 16 LOC) — base abstraite,
mulPoseStack + setArmaturePose + nameplate via mixin invoker
- render/PatchedLivingEntityRenderer.java (~230 LOC, EF 294 → stripped) — hot path
render, strippé du JSON customLayers loading + EntityDecorations (pas impl. côté
LivingEntityPatch TiedUp)
- render/PHumanoidRenderer.java (~95 LOC, EF 53 → adapté) — intermediate
biped, baby head scale, enregistre PatchedArmorLayer + PatchedItemInHandLayer
- render/TiedUpPlayerRenderer.java (~95 LOC, EF PPlayerRenderer 60 → adapté) —
dispatch slim/default (Meshes.ALEX vs BIPED), propage modelParts visible flags,
skip cape/bee/arrow layers (V3-REW-08/09)
- render/PatchedLayer.java (~55 LOC) — base no-op layer
- render/PatchedArmorLayer.java (~45 LOC) — stub no-op (V3-REW-04)
- render/PatchedItemInHandLayer.java (~45 LOC) — stub no-op (Phase 3)
- mixin/client/MixinEntityRenderer.java (~35 LOC) — invoker shouldShowName +
renderNameTag (EF verbatim)
- mixin/client/MixinLivingEntityRenderer.java (~30 LOC) — invoker isBodyVisible,
getRenderType, getBob
Modifs :
- resources/tiedup-rig.mixins.json : enregistre les 2 nouveaux mixins client
Dépendances stubbées :
- PatchedArmorLayer / PatchedItemInHandLayer no-op — "mangent" le layer vanilla
équivalent pour éviter double-rendu, mais ne dessinent rien. À implémenter
Phase 3 (armor : V3-REW-04 ; item-in-hand : tool joints GLB).
- EntityDecorations (color/light/overlay modifiers) strippées du render path —
le patch TiedUp n'expose pas encore cette API. Hurt/death overlay natifs
conservés. À rework si feature premium glow/tint NPC.
TODOs Phase 2.6 / Phase 3 :
- animated_layers/*.json datapack-driven loading (strippé du constructor) si
besoin futur
- PlayerItemInHandLayer (version player-spécifique, distincte de ItemInHandLayer
générique) pas encore mangée côté player → layer vanilla continue de draw
- ElytraLayer / CustomHeadLayer pas mangés (cohérent "on mange juste les layers
qui entrent en conflit avec le mesh skinné")
Surprise pendant le fork :
- ItemInHandLayer vanilla MC 1.20.1 exige M extends EntityModel<E> & ArmedModel,
pas HeadedModel comme PatchedItemInHandLayer EF 1.20.1 pouvait le suggérer
via ses anciennes versions. Alignement forcé sur ArmedModel.
- EF utilise 2 mixins @Invoker (MixinEntityRenderer / MixinLivingEntityRenderer)
pour accéder aux méthodes protected de vanilla — forkés verbatim dans
rig/mixin/client/.
Tests :
- ./gradlew compileJava : BUILD SUCCESSFUL
- ./gradlew test --tests "com.tiedup.remake.rig.*" : 15/15 GREEN
(TiedUpArmaturesTest 4 + GlbJointAliasTableTest 4 + GltfToSkinnedMeshTest 6 =
14 rig + 1 utilitaire)
|
2026-04-22 22:39:41 +02:00 |
|
notevil
|
3aec681436
|
Phase 2.2 : fork mesh/transformer/ (vanilla PlayerModel → SkinnedMesh)
COPY verbatim EF + rewrite imports :
- rig/mesh/transformer/VanillaModelTransformer.java (~700 LOC)
Transformer principal : bake PlayerModel vanilla / HumanoidModel → SkinnedMesh biped
EF. Utilise les PartTransformer (HEAD/ARM/LEG/CHEST) avec AABB cover area.
- rig/mesh/transformer/HumanoidModelTransformer.java (~70 LOC)
Base abstract commune aux transformers humanoïdes.
- rig/mesh/transformer/HumanoidModelBaker.java (~115 LOC)
Entry point bake() + export JSON + registry MODEL_TRANSFORMERS.
L'ancienne stub de VanillaMeshPartDefinition (record 55 LOC) est remplacée par
la vraie record dans le fork — API identique (of(partName), of(partName, path,
invertedParentTransform, root)).
Ajouté mixin accessor :
- rig/mixin/client/MixinAgeableListModel.java (@Invoker pour headParts/bodyParts
sur AgeableListModel).
- src/main/resources/tiedup-rig.mixins.json (nouveau mixin config, package
com.tiedup.remake.rig.mixin).
- build.gradle : args '-mixin.config=tiedup-rig.mixins.json' dans client+server
run configs.
- META-INF/mods.toml : [[mixins]] config="tiedup-rig.mixins.json"
Logger EpicFightMod.LOGGER → TiedUpRigConstants.LOGGER dans HumanoidModelBaker.
Packages correctement rewrités par scripts/rig-rewrite-imports.sh. Compile
BUILD SUCCESSFUL maintenu.
|
2026-04-22 20:59:32 +02:00 |
|