# RDF Genes v1.0.4p — Performance Pass

- Removed the global Harmony postfix on `Gene.Active`, the largest hot-path risk in v1.0.4.
- RDF skin genes now use vanilla `SkinColor` + `SkinColorOverride` exclusion tags; RDF body genes use vanilla `BodyType` exclusion tags in addition to their RDF-specific tags.
- Added weak per-pawn caches for RDF body/skin/gene queries and invalidate them only when genes are actually added or removed.
- Cached repeated GeneDef, HediffDef, BodyTypeDef, pawn-field and Sized Apparel reflection lookups.
- Replaced synchronized `TicksGame % interval` polling with RimWorld-style `pawn.IsHashIntervalTick(interval)` staggering across RDF pawns.
- Removed recurring `ToList()` allocations from health/apparel hot paths and reduced repeated string allocations in periodic Hediff scans.
- Resource production now checks in 60-tick hashed batches instead of doing extension lookup/countdown work every game tick.
- Rubber Genitalia now uses fast initialization retries only until RJW body parts are ready, then falls back to a rare 2500-tick self-heal check.
- Consolidated Rubber Bitch, Sentient Display Doll and Dollmare head seating into one `BaseHeadOffsetAt` postfix.
- Consolidated the two Dollmare Horse Tail offset passes into one equivalent final correction.
- Removed the failing Dollmare inherited `ScaleFor` patch attempt seen in the v1.0.4 Player.log; effective current head scale behavior is therefore unchanged.
- No XenotypeDefs, genes, gene effects, randomized skin/hair pools or approved textures were intentionally removed or redesigned.

# RDF Genes v1.0.4 — Faction-Ready Xenotypes

- Added three new non-inheritable custom XenotypeDefs: `RDF_Dollfox`, `RDF_SecurityDoll`, and `RDF_ProwlerDoll`.
- New xenotypes use fixed RDF bodies while the existing controller randomizes only one persistent RDF hair color and one persistent skin/finish from the full 8-hair / 24-skin pools.
- Replaced the new xenotypes' RDF Futa Anatomy concept with neutral RJW Genes `rjw_genes_futa` plus neutral `rjw_genes_bisexual`.
- Added the requested shared anatomy package to all three: Rubber Genitalia, big male genitalia, tight female genitalia, big breasts and tight anus.
- Species anatomy: Dollfox = canine, Security Doll = dragon, Prowler Doll = feline.
- Added load-safe runtime resolution for compatible Big & Small / AFU role cosmetics and optional pounce genes.
- Prevented the original Rubberdoll/Dollmare/Rubber Bitch supplemental package from leaking into the three new controller-using xenotypes.
- Preserved v1.0.3 skin-randomization behavior and v1.0.2 resource rework.

# RDF Genes v1.0.3 — Skin Randomization Fix

- Added `RDF_SkinColor` exclusion tag to all 24 RDF skin/finish genes.
- RDF skin genes now respect RimWorld `Gene.Active` when multiple RDF skin variants are present.
- Removed the old Harmony behavior that forced every RDF skin gene active simultaneously.
- RDF body genes retain their visual-priority override.
- RDF skin priority over non-RDF competing skin/body-surface genes is retained.
- Fixes Character Editor / pawn randomization always rendering the first RDF skin variant.

# RDF Genes v1.0.2

- Retextured the Rubber Milk item to match the polished RDF resource art style.
- Rubber Milk is now a true edible food resource, aligned with vanilla Milk behavior: nutrition, AnimalProduct/Fluid food type, raw-food category, and 14-day rot time.
- The latex resource produced by the RDF Latex Secretion genes (`RDF_RawLatex`) now behaves as a Fabric/Textiles stuff material so vanilla and modded recipes that accept cloth/fabric can use it.
- When RDF Latex Infrastructure is active, its shared `RDF_LiquidLatex` is also made Fabric/Textiles-compatible and the two Latex Secretion genes output that shared Liquid Latex resource directly.
- Kept existing defNames unchanged for save and cross-module compatibility.

# RDF Genes v1.0.1

- Fixed xenotype initialization order for RDF Dollmare and Sentient Rubber Bitch.
- Their fixed quadruped body gene is now added before the shared variant controller, preventing a temporary extra humanoid Rubberdoll body gene (such as Voluptuous Doll) during pawn generation.
- Sentient Rubberdoll remains unchanged and still permanently rolls exactly one of its six approved humanoid body variants.

# RDF Genes changelog

## v1.0
- Finalized Sentient Rubberdoll xenotype.
- Finalized RDF Dollmare xenotype.
- Finalized Sentient Rubber Bitch xenotype.
- All three finished xenotypes use xenogenes.
- Latex Metabolism finalized at +70 metabolic efficiency.
- Persistent random body/hair/skin variant handling finalized.
- Confirmed save/load persistence for randomized variants.
- Fixed periodic Display Doll / Sized Apparel visual flicker.
- Finalized Living Latex Anatomy material/color wiring.
- Finalized Doll/Futa/Rubber Genitalia integrations.
- Added equine Dollmare and canine Rubber Bitch RJW genital-type packages.
- Added selected RJW/external supplemental gene resolution.
- Removed the RDF Udders gene, textures and integration completely.
- Removed development-history/test-note clutter from the release package.
- Cleaned release metadata, descriptions and gene-editor ordering.
