Intent to Ship: Altitude/Azimuth for PointerEvents

128 views
Skip to first unread message

Liviu Tinta

unread,
Jul 24, 2020, 10:28:08 AM7/24/20
to blink-dev

Contact emails

liviu...@chromium.org,mus...@chromium.org

 

Explainer

Explainer document link


Spec

Pointer Events link

Tag review: https://github.com/w3ctag/design-reviews/issues/537.


Summary

Adding another way of describing a digital pen’s 3D orientation to Pointer Events. Altitude is the angle between the pen and the plane (X,Y) (the surface), azimuth is the angle between the pen’s projection on plane (X,Y) and the X axis.

Azimuth and altitude angles will be populated by the user agent for both trusted and untrusted events. Since there will be 2 ways of describing a pen's orientation in 3D in pointer events (either tiltX, tiltY angles, or azimuth, altitude angles), if one set of angles is provided when constructing an untrusted event, the other set will automatically be computed by the user agent. 


Link to “Intent to Prototype” blink-dev discussion

Intent to Prototype link


Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


Demo link

https://patrickhlauke.github.io/touch/tracker/multi-touch-tracker-pointer-hud.html

https://patrickhlauke.github.io/touch/pen-tracker/index.html?azimuth


Debuggability

The azimuthAngle and altitudeAngle pointer event attributes are visible in Developer Tools like any other attribute.


Risks


Interoperability and Compatibility

Adding new attributes azimuthAngle and altitudeAngle to PointerEvent will not break existing code, as tilt is currently described using tiltX, tiltY angle pair.


Signals from other implementations (Gecko, WebKit): 

  • Gecko: Pointer Events specification is marked as In Development. Mozilla actively contributed to the specification discussion related to Azimuth/Altitude: PEWG minutes

  • WebKit: the request originated from an Apple developer saying they are working on the implementation  

Web / Framework developers: N/A


Ergonomics

Are there any other platform APIs this feature will frequently be used in tandem with? 

No.


Activation

azimuthAngle and altitudeAngle can be used as normal properties of PointerEvent.


Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.

Yes. Link here. Code landed in 86.0.4210.0.


Entry on the feature dashboard

Altitude/Azimuth for PointerEvents v3




Yoav Weiss

unread,
Jul 28, 2020, 9:00:31 AM7/28/20
to Liviu Tinta, blink-dev
Could you ask for official signals?

Web / Framework developers: N/A


Ergonomics

Are there any other platform APIs this feature will frequently be used in tandem with? 

No.


Activation

azimuthAngle and altitudeAngle can be used as normal properties of PointerEvent.


Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.

Yes. Link here. Code landed in 86.0.4210.0.


Entry on the feature dashboard

Altitude/Azimuth for PointerEvents v3




--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHaAqY%2BGwMgYMmCpVZjpUqYE%3DxmfB%2BUhaq8A%3DW3PD%3DQs%2BrSL2g%40mail.gmail.com.

Liviu Tinta

unread,
Jul 28, 2020, 2:56:56 PM7/28/20
to Yoav Weiss, blink-dev

Interoperability and Compatibility

Adding new attributes azimuthAngle and altitudeAngle to PointerEvent will not break existing code, as tilt is currently described using tiltX, tiltY angle pair.


Signals from other implementations (Gecko, WebKit): 

Web / Framework developers: N/A

Liviu Tinta

unread,
Jul 30, 2020, 4:25:20 PM7/30/20
to Yoav Weiss, blink-dev

Interoperability and Compatibility

Adding new attributes azimuthAngle and altitudeAngle to PointerEvent will not break existing code, as tilt is currently described using tiltX, tiltY angle pair.


Signals from other implementations (Gecko, WebKit): 

Web / Framework developers: N/A

Daniel Bratell

unread,
Aug 6, 2020, 2:07:05 PM8/6/20
to Liviu Tinta, Yoav Weiss, blink-dev

Yoav Weiss

unread,
Aug 7, 2020, 8:28:25 AM8/7/20
to Daniel Bratell, Liviu Tinta, blink-dev
LGTM2

Chris Harrelson

unread,
Aug 7, 2020, 10:40:18 AM8/7/20
to Yoav Weiss, Daniel Bratell, Liviu Tinta, blink-dev
Reply all
Reply to author
Forward
0 new messages