• 1.33 Typescript and Harnesses

    • refactor of non-asset defining code to TypeScript
      • no effect on non-TypeScript users (still exporting JS file)
      • downstream TypeScript users get more type assistance
    • add harness templates
      • allows for exporting consistently sized images
  • 1.30 Backgrounds and Fixes

    • background color in viewConfig
      • default to transparent
    • save as PNG in live tester
      • allows for exporting consistently sized images
    • fix live tester GUI responsiveness when changing clothes
    • fix random character creation to use updated API
    • fix tainting canvases by loading images with cors specified
    • use TypeScript version of drawpoint library (and consider moving this library to TS…)
    • allow custom drawing on the base layer (e.g. your own HUD)
    • add base class to Parts for external projects to better specify APIs

    Background Color

    The viewer config has new properties for making the background transparent (default up to now), and assigning it a solid color.

  • 1.29 Vitals

    • more support for vitals
      • base vitals, max vitals (after modifications), and current vital values
      • render below name (viewer config)

    Vitals

    These are RPG resources like stamina, hp, and mp that have maximum and current values. The maximum values are derived from a base value (Player.baseVitals.<vital>), statistics, dimensions, and modifiers. An example definition is

        da.vitalLimits['stamina'] = {
            display: "STM", // abbreviation for rendering on canvas
            color: "hsl(100, 50%, 50%)", // color for rendering on canvas
            // description of distribution for randomly creating a character
            low  : 0,
            high : 500,
            avg  : 30,
            stdev: 6,
            bias : 0,
            // this calculates the derived max value 
            calc() {
                // get properties with this.get methods
                return this.getBaseVitals('stamina') + this.get('str') * 2;
            },
        };
    

    The calc function computes the derived max value and is optional. If it’s not specified, then this.getBaseVitals(<vital>) is used. Player.maxVital.<vital> is the computed max values and should be read from but not written to. Player.vitals.<vital> is the current value to be directly modified in game like

    PC.vitals.stamina -= 10;
    
  • 1.28 Serialization Compression

    • updated serialization
      • save only properties that are different from default
      • remove circular references (serialization/deserialization should be compatible with SugarCube 2 now)
    • include transformation completion percentage to transform function
      • enables more advanced transformations

    Transformation

    Since expressions need to be applied via the <Player>.applyExpression method, we can’t directly use expression as the modifying object to the player object as that would permanently transform the facial expression. Instead, we can use the transformation framework to smoothly update the expression.

  • 1.26 Asset Addition (Dahakma)

    • new clothing from Dahakma:
      • underwear
        • bikinis
        • panties with bow
        • bra with strap
      • makeup
        • lipstick
        • nails
      • neck accessories
        • crossed chokers
        • tagged collars
        • necklaces
      • jewelry
        • armlets
        • body chains
        • belly button piercings
        • earrings
      • tops
        • tube top with sleeves
        • swimsuit
        • leotard
      • bottoms
        • loincloth
        • jeans
      • hats
        • magic cap
        • maid headpiece
      • armor
        • cuirass
        • vambraces
        • greaves
    • modified clothing calculations (using this)
      • calcSuperPants
      • calcSuperSocks
      • tube tops
  • 1.25 Pregnancy

    • pregnancy support
      • core statistic
      • belly protrusion dimension
  • 1.24 BDSM

    • BDSM templates
      • gags
        • ring gags + spider variety
        • ball gags
      • restraints
        • wrist
        • ankles
      • bondage
        • chest
        • waist
      • blindfold
    • anklet templates
  • 1.23 Heels

    • more options for heels
      • separate parts for platform, base, strap, and heel
      • new “fancy” template with open back
      • reusable calculation functions
    • locked variant of heels
  • 1.22 Mascara

    • makeup asset
      • mascara
    • natural override lash fill
  • 1.21 Hats

    • high resolution patterns
    • hat templates
      • caps and toques (flexible template!)
      • new ABOVE_HAIR layer
    • fixes
      • fix removing clothing mods even though clothes didn’t exist
  • 1.20 Hair Colour Override

    • hair colour overrides
      • can use any colour (including patterns and functions)
      • separate override of eyebrow fill
    • usability improvements
      • fix shoe side view scaling
      • specify offset for where x=0 and y=0 are placed
  • 1.19 Focused Window and Hiding Info

    • not render certain info guide
      • name, gender
      • height, height bar
      • shoe side view
    • draw focused window guide
      • focus on a specific part
      • draw with higher resolution
  • 1.18 Content Explosion (Dahakma)

    • new clothing from Dahakma:
      • dresses
      • corsets
      • tops
      • socks
      • chokers, collars
      • pants
    • fixed transparent clothing double shading
  • 1.17 Piercings

    • new clothing category: jewelry (and piercing subcategory)
      • ring
      • stud
      • chain
    • fixed saving/loading
    • made ears individual to a side
  • 1.16 Tattoos

    • new display parts: tattoos
  • 1.15 Interpolation and Transformation

    • new drawing mechanisms: curve interpolation and curve transformation.
    • new clothing template: dress shirts
  • 1.14 Art Evolution and New Content

    Strokes were removed to give a cleaner and cripser look in version 1.14. This update also brings customizable eyelashes, a 60FPS transformation API, and shading fixes. Versions 1.9 - 1.13 were content updates that will be covered later in this post.

  • 1.8 Shading

    This update brings cel-shading to add volume and depth.

  • 1.5 Patterns and Promises

    Today I reworked how patterns are loaded and stored.

  • 1.4 Content Summary (shirts, shorts, hair)

    Some pictures to summarize new content since 1.0 release.