Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rive-app/rive-ios
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 6.3.7
Choose a base ref
...
head repository: rive-app/rive-ios
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6.3.8
Choose a head ref
  • 15 commits
  • 11 files changed
  • 3 contributors

Commits on Nov 15, 2024

  1. Fix NestedAnimation skipping export too late

    There was a bug with how we were removing a NestedAnimation from export. The export process for an artboard does this:
    
    - Collect all the object in an artboard which should export.
      - This is done by calling ```component.exportsWith(artboard)``` on each component.
      - The ones which return true are included in the export list.
    - Assign runtime ids (indices) to each object in that list and build a remapping table to make sure edit time ids are written as their matching runtime id (index).
    - Export each object in the list by calling ```writeRuntime``` in the exact order of the runtime ids as the runtime ids are indices into this export list.
    
    We were earlying out of exporting by returning early in ```writeRuntime```. This causes a problem because the export list now is missing an item which consumes an id at that export index. If an object does not wish to be exported, it should return ```false``` in its ```exportsWith``` method.
    
    Diffs=
    cc15ffa4f6 Fix NestedAnimation skipping export too late (#8573)
    luigi-rosso committed Nov 15, 2024
    Copy the full SHA
    ca3f984 View commit details

Commits on Nov 16, 2024

  1. editor: be more mindful of sending dirt recursively when n-slicing

    A long time ago, I only sent out dirt.nslicer when anything about the vector n-slicer changed. However, this caused clipping paths inside of a vector n-slicer to not update in time. I was worried to miss a spot, so in addition to sending dirt.nslicer, I also sent out dirt.path.. recursively...
    
    Then it turns out that if there are texts inside of the n-sliced node, they will also listen to dirt.path, and that caused some performance issues. So now we are back to wanting to send dirt.nslicer, and have places that listen to it calculate things.
    
    The way I audited this... I first did a search for all ComponentDirt.path in the Dart codebase:
    ![image](https://github.com/user-attachments/assets/281df80c-3320-46f2-9ff7-c3ee6e40065a)
    
    Then for all of them, I see whether the check occurred in a update() function. If it does, then I added an dirt.nslicer condition too. This was after the first commit. I'm hoping that doing it this way means that the checks are complete, meaning I'm not missing any dirt.nslicer checks.
    
    I then commented each out, and see whether something will not update in time. So e.g. if the update is on a layout node, I'd check whether a hug layout node responds to an nsliced node's width/height. (in this case, I don't need the nslicer check, so i removed it). This was the second commit. I'm hoping that doing it this way means all the dirt.nslicer checks are necessary.
    
    Then the idea is...if we are doing sth complete and necessary, it's the right amount.
    
    Diffs=
    1d23ae5782 editor: be more mindful of sending dirt recursively when n-slicing (#8576)
    susan101566 committed Nov 16, 2024
    Copy the full SHA
    13f151c View commit details
  2. Add an android_gms job to browserstack

    Diffs=
    01e014f82d Add an android_gms job to browserstack (#8583)
    csmartdalton committed Nov 16, 2024
    Copy the full SHA
    9f52a4b View commit details
  3. Fix clip planes on S22/Xclipse/ANGLE

    ANGLE advertises support for EXT_clip_cull_distance on this device but doesn't implement it correctly. Just never use this extension on ANGLE. If we're getting ANGLE, then the device most likely supports Vulkan and we will switch over to there shortly.
    
    Diffs=
    8030dc05eb Fix clip planes on S22/Xclipse/ANGLE (#8582)
    csmartdalton committed Nov 16, 2024
    Copy the full SHA
    8e53bc4 View commit details

Commits on Nov 17, 2024

  1. Fix invalid memory access

    Diffs=
    869816556f Fix invalid memory access (#8546)
    csmartdalton committed Nov 17, 2024
    Copy the full SHA
    a6f8163 View commit details

Commits on Nov 18, 2024

  1. Rename USING_DEPTH_STENCIL to RENDERING_MODE_MSAA

    Renamed the define to RENDERING_MODE_MSAA as we talked about yesterday.
    
    Diffs=
    e10bb4aafd Rename USING_DEPTH_STENCIL to RENDERING_MODE_MSAA (#8584)
    klingerj committed Nov 18, 2024
    Copy the full SHA
    eea5f5d View commit details
  2. Normalize GM tests

    Remove code that made ANGLE behave differently on lots_of_images due to slowness. Now that GMs run in parallel and we have the GMREGISTER_SLOW macro, the longer test time is invisible.
    
    Use the same number of subdivisions for mandoline on every rendering mode. It had too many subdivisions in rasterOrdering anyway and didn't render well. Since we aren't going to change it, just run tests that we are committed to keep rendering correctly.
    
    Diffs=
    a2b0cb230a Normalize GM tests (#8586)
    csmartdalton committed Nov 18, 2024
    Copy the full SHA
    089ba21 View commit details
  3. Nnnn range data converter

    added a new data converter by request from Duo.
    It defines an input range and maps it to an output range.
    It includes some extra features like clamping the value, applying a modulo in order to make it loop, and reversing it.
    And it also takes an interpolator such that the mapping doesn't need to be lineal.
    @
    
    https://github.com/user-attachments/assets/d18b1269-8b5e-4aad-9504-9f5f3dcdaad9
    
    Diffs=
    88543fa792 Nnnn range data converter (#8585)
    bodymovin committed Nov 18, 2024
    Copy the full SHA
    f4d6565 View commit details

Commits on Nov 19, 2024

  1. Fixup android_gms_browserstack

    * Bundle 32-bit binaries in the test apk as well. Not all devices on browserstack are 64-bit.
    
    * Save the gm pngs to different directories based on android os version. Android introduced a lot of changes to external storage at v11.
    
    * Work around an invalid gl error being generatd by Moto G7 Play.
    
    * Migrate the android_gms_browserstack runner to ubuntu 22.04. This is a long-running job that spends most its time waiting on browserstack and the network. It's not worth tying up a cirrus runner.
    
    * Begin syncing android_gms_browserstack results with s3.
    
    Diffs=
    36e73f6b4b Fixup android_gms_browserstack (#8599)
    csmartdalton committed Nov 19, 2024
    Copy the full SHA
    5dba8af View commit details

Commits on Nov 20, 2024

  1. feat: expose hit test to runtimes

    This PR addresses a runtime limitation where we previously needed to trigger a pointer event to confirm if a listener existed at a specific location. With this update, users in game engines can choose whether pointer events in Rive should block raycasts from hitting items behind a Rive graphic. This change allows for hit testing without triggering the event itself.
    
    I believe this is already available in Flutter, so this PR extends it to other runtimes as well
    
    Diffs=
    17474d3e2c feat: expose hit test to runtimes (#8598)
    damzobridge committed Nov 20, 2024
    Copy the full SHA
    afbb7b8 View commit details
  2. image diff hiistogram mode

    * added `-H` flag that uses a new histogram compare mode for checking diffs of images on `diff.py` and `image_diff.py`
    * added `NO_VENV` environment variable check for disabling `pyenv` for local development in `diff.py`
    
    Diffs=
    807f9b20ac image diff hiistogram mode (#8601)
    blakdragan7 committed Nov 20, 2024
    Copy the full SHA
    c03bfff View commit details
  3. CoreText fallback shaper ex

    More experimenting on top of https://github.com/rive-app/rive/pull/8556
    
    This breaks some APIs that still need to be fixed up elsewhere.
    
    The basic concept here is that when you request a system font you can tell it whether you're requesting to use it a Harfbuzz shaped system font or a CoreText (System) shaped system font.
    
    We prioritize Harfbuzz first so that we have predictable performance and results across edit and runtime. To do this the fallback process now comes with an index. Iteration will keep happening until no font is returned (or all glyphs are found).
    
    If the registered fallbacks look like this:
    ```
    RiveFont.fallbackFonts = [
      UIFont(name: "PingFangSC-Semibold", size: 12)!,
      UIFont(name: "Hiragino Sans", size: 12)!
    ]
    ```
    
    The fallback process will return:
    ```
    iter 0: Ping Fang Harfbuzz Shaped
    iter 1: Hiragino San Harfbuzz Shaped
    iter 2: Ping Fang Coretext Shaped
    iter 3: Hiragino Sans Coretext Shaped
    ```
    
    We also use Coretext last as usually shaping with Coretext causes Apple's shaper to do its own fallbacks (it calls them cascades like css). So iter 2 (in the example above) will be the final iteration as all glyphs get filled via Apple's own fallbacks.
    
    ![CleanShot 2024-11-14 at 21 16 55@2x](https://github.com/user-attachments/assets/c12e158b-5b8e-41d4-8d9b-8184a316a079)
    
    Diffs=
    3eefba5039 CoreText fallback shaper ex (#8568)
    
    Co-authored-by: David Skuza <[email protected]>
    Co-authored-by: Luigi Rosso <[email protected]>
    3 people committed Nov 20, 2024
    Copy the full SHA
    a0e735b View commit details
  4. editor: update the repeat limit for n-slicing

    currently it's 1000, which I think is too low (i was being conservative). This bumps it up to 10k
    
    Diffs=
    7be5f73b5a editor: update the repeat limit for n-slicing (#8604)
    susan101566 committed Nov 20, 2024
    Copy the full SHA
    4e969aa View commit details
  5. Updating version files

    dskuza committed Nov 20, 2024
    Copy the full SHA
    9ed54e8 View commit details
  6. chore: release v6.3.8

    dskuza committed Nov 20, 2024
    Copy the full SHA
    16222d2 View commit details
Loading