Skip to content

docs: clarify unit, coordinate system, and HID origin for LampInfo.Position and LampArray.BoundingBox - #2552

Merged
John Kennedy (GrantMeStrength) merged 2 commits into
docsfrom
copilot/fix-lampinfo-position-documentation
Sep 16, 2026
Merged

John Kennedy (GrantMeStrength) merged 2 commits into
docsfrom
copilot/fix-lampinfo-position-documentation

Conversation

Copilot AI commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

LampInfo.Position and LampArray.BoundingBox lacked any specification of units, coordinate system handedness, axis orientation, or origin—forcing developers to reverse-engineer scale empirically.

lampinfo_position.md

  • Description now explicitly states values are in meters relative to the front-top-left corner of the bounding box
  • Property-value section describes each Vector3 axis (X=right, Y=down, Z=away from user)
  • New Remarks section covering:
    • Left-handed coordinate system with explicit +X/+Y/+Z directions
    • Origin definition: (0, 0, 0) = front-top-left corner of LampArray.BoundingBox
    • HID provenance: values converted from micrometers (µm ÷ 1,000,000) per the HID LampArray descriptor
  • See-also links added for BoundingBox, HID spec, and Dynamic lighting docs

lamparray_boundingbox.md

  • Added explicit left-handed coordinate system block with +X/+Y/+Z axis directions (parallel with Position page)
  • Added note that extents originate from the HID descriptor in micrometers, converted to meters by the WinRT layer

Copilot AI changed the title [WIP] Fix missing unit specification for LampInfo.Position property docs: clarify unit, coordinate system, and HID origin for LampInfo.Position and LampArray.BoundingBox Jul 27, 2026
@GrantMeStrength
John Kennedy (GrantMeStrength) marked this pull request as ready for review September 16, 2026 15:46
@GrantMeStrength
John Kennedy (GrantMeStrength) merged commit e665808 into docs Sep 16, 2026
2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The documented axis directions and origin conflict with the LampArray/HID contract and must be corrected before approval.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

This pull request clarifies units, coordinate systems, origins, and HID provenance for LampArray spatial properties.

Changes:

  • Documents LampInfo.Position values, axes, origin, and HID conversion.
  • Adds coordinate-system and HID-derived extent details to LampArray.BoundingBox.
  • Adds related references.
File summaries
File Summary
windows.devices.lights/lampinfo_position.md Documents position units, axes, origin, and HID conversion.
windows.devices.lights/lamparray_boundingbox.md Documents bounding-box axes, origin, and HID-derived meter conversion.
Review details

Suppressed comments (3)

windows.devices.lights/lamparray_boundingbox.md:29

  • The handedness label conflicts with the axis directions documented here: +X to the right crossed with +Y downward points away from the user, which is the listed +Z direction, so these axes form a right-handed basis. Please reconcile the text with the API/HID contract (for example, change the label to right-handed or correct the +Z direction); the current combination will lead consumers to build incorrect 3D transforms.
The coordinate system is left-handed, with the origin at the front-top-left corner of the bounding box:
- **+X** extends to the right.
- **+Y** extends downward.
- **+Z** extends away from the user (into the device).

windows.devices.lights/lamparray_boundingbox.md:29

  • This orientation block reverses the HID LampArray contract: the origin is the upmost, farthest, left-hand corner and the axes are X left-to-right, Y farthest-to-closest, and Z top-to-bottom. It also leaves the following origin sentence inconsistent. Please replace this new block and align/remove that sentence as part of the same correction.
The coordinate system is left-handed, with the origin at the front-top-left corner of the bounding box:
- **+X** extends to the right.
- **+Y** extends downward.
- **+Z** extends away from the user (into the device).

windows.devices.lights/lampinfo_position.md:14

  • The HID LampArray contract does not use the front corner as the origin: it defines (0, 0, 0) at the upmost, farthest, left-hand corner of the bounding box. Calling this the front corner reverses the reference point for depth and makes the documented positions incompatible with the descriptor.
Gets the position of the lamp within the lamp array, expressed in meters relative to the front-top-left corner of the array's bounding box.
  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.


## -property-value
The position of the lamp.
A [Vector3](/dotnet/api/system.numerics.vector3) representing the lamp's position in meters, where X is the horizontal offset (increasing to the right), Y is the vertical offset (increasing downward), and Z is the depth offset (increasing away from the user).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge PR is being processed and awaiting review/approval. review-team-triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing Unit Specification for LampInfo.Position

3 participants