Skip to content

ItemVariationStore should allow just-in-time evaluation #5

@Lorp

Description

@Lorp

Current behaviour is to evaluate all ItemVariationStores in the font when a SamsaInstance is created. This is almost certainly a bad idea, since only a tiny number of the values will get used in the session, and some fonts may struggle to generate instances quickly.

Therefore it makes sense to evaluate all the IVS scalars upon instantiation (since that’s cheap), and create an array of empty arrays to hold the interpolated delta values at column:row, or outer:inner. Thus initially an IVS would populate a scalars array for each IVD. Then when an outer:inner pair was requested, the relevant deltaSet is add-multiplied by the relevant scalar set, yielding a value that is stored and returned. Whether it’s worth storing the result should be tested.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions