[webkit-changes] [WebKit/WebKit] bb0b0d: Introduce WKSRKEntity interface that wraps a Reali...

Ada Chan noreply at github.com
Tue Aug 20 09:13:16 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb0b0dc7700f6f8a68cbc4e5c9b79b1983916aba
      https://github.com/WebKit/WebKit/commit/bb0b0dc7700f6f8a68cbc4e5c9b79b1983916aba
  Author: Ada Chan <adachan at apple.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h
    M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm
    M Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h
    M Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    A Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift
    A Source/WebKit/WebKitSwift/RealityKit/RealityKitBridging.h
    M Source/WebKit/WebKitSwift/WebKitSwift.h

  Log Message:
  -----------
  Introduce WKSRKEntity interface that wraps a RealityKit Entity object
https://bugs.webkit.org/show_bug.cgi?id=278337
rdar://134272371

Reviewed by Mike Wyrzykowski.

This wrapper class allows us to manipulate the entity associated with
a model element using RealityKit APIs. This patch converts the logic
to get the entity's bounding box, get/set its transform and opacity,
and animate the entity to use RealityKit APIs in Swift.

* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h:
Add a new data member to hold a WKSRKEntity created with the REEntityRef
from the REModel.
m_animationPlaybackToken can be removed since we can now handle
animation with the RealityKit AnimationPlaybackController API.
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm:
(WebKit::ModelProcessModelPlayerProxy::updateTransform):
(WebKit::ModelProcessModelPlayerProxy::updateOpacity):
(WebKit::ModelProcessModelPlayerProxy::startAnimating):
(WebKit::ModelProcessModelPlayerProxy::didFinishLoading):
Create a WKSRKEntity with the CoreRE entity from REModel
* Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h:
* Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.mm:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift: Added.
(WKSRKEntity.boundingBoxExtents):
(WKSRKEntity.boundingBoxCenter):
(WKSRKEntity.boundingBox):
(WKSRKEntity.transform):
(WKSRKEntity.opacity):
(WKSRKEntity.startAnimating):
* Source/WebKit/WebKitSwift/RealityKit/RealityKitBridging.h: Copied from Source/WebKit/WebKitSwift/WebKitSwift.h.
* Source/WebKit/WebKitSwift/WebKitSwift.h:

Canonical link: https://commits.webkit.org/282494@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list