Compile Time Changes

class UserPart

Constructor Migration: List Price → Base Price + Option Price Sum

In v16.5, a new constructor has been introduced for UserPart to support the new pricing model. Previously, UserPart accepted a cached list price (listPrice) directly as a parameter. This behavior is now being phased out.

Old Constructor
  • constructor(World world, ..., double listPrice, ...)
  • Accepts a total listPrice value to cache.
  • See documentation in compile-time section for cm.core.part.Part for more info
New Constructor (preferred, introduced in 16.5)
  • constructor(World world, ..., double basePrice, Double optionPriceSum, ...)
  • Accepts basePrice and optionPriceSum separately for caching.
  • See documentation in compile-time section for cm.core.part.Part for more info
Impact
  • Migrate to new constructor and split your values into basePrice and optionPriceSum.
  • All new core features and pricing rules will rely on the new constructor/pricing system.
  • The old constructor remains for backward compatibility

Runtime/Behavior Changes

class CoreDistanceField

The mouse over tooltip now always display the distance with the same precision as the field value itself. Previously, the tooltip would be shown with the precision of the currently selected "Dimensions" style from the Tools toolbox.

It is now also possible to specify the precision of CoreDistanceFields that are created from props, by setting the unitPrecision argument in the PropInputSettings. For example, to set the precision to be the same as the currently selected "Dimensions" style, use unitPrecision=defaultUserDimensionStylePrecision().

public class MyAnimation extends Animation {
    public props {
	    "length" : setting=PropInputSetting(unitPrecision=defaultUserDimensionStylePrecision());
    }
}