Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,6 @@ Describe externally observable behavior (state transitions, event ordering, timi

## Spec/Crosswalk Review (required for W3C-aligned behavior changes)

- [ ] Reviewed `documents\crosswalk\webrtcnet-api-to-spec.md`
- [ ] Reviewed `documents\specs\index\spec-map.md`
- [ ] Reviewed `docs\standards\crosswalk\webrtcnet-api-to-spec.md`
- [ ] Reviewed `docs\standards\specs\index\spec-map.md`
- [ ] Refreshed/checked local spec snapshots (`.\scripts\update-spec-docs.ps1`) when needed
8 changes: 4 additions & 4 deletions .github/skills/w3c-specs/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: w3c-specs
description: Reviews WebRtcNet's local W3C spec corpus and produces implementation guidance with citations. Use when the user asks to compare or validate WebRtcNet.Api behavior against local spec files, requests gap analysis, or wants chunk-focused standards review using documents/specs and documents/crosswalk.
description: Reviews WebRtcNet's local W3C spec corpus and produces implementation guidance with citations. Use when the user asks to compare or validate WebRtcNet.Api behavior against local spec files, requests gap analysis, or wants chunk-focused standards review using docs/standards/specs and docs/standards/crosswalk.
---

# W3C Specs
Expand All @@ -19,9 +19,9 @@ Example input:
## Workflow

1. Read local sources first, in this order:
1. `documents/specs/index/spec-map.md` (or `.json`)
2. `documents/crosswalk/webrtcnet-api-to-spec.md`
3. Relevant TR snapshots in `documents/specs/**/TR-*.html`
1. `docs/standards/specs/index/spec-map.md` (or `.json`)
2. `docs/standards/crosswalk/webrtcnet-api-to-spec.md`
3. Relevant TR snapshots in `docs/standards/specs/**/TR-*.html`
4. Relevant summaries and `*-idl.webidl` files
2. Restrict analysis to the requested focus area.
3. Map findings to concrete repository targets (`WebRtcNet.Api/**`, tests, docs) when requested.
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ PR descriptions for behavioral changes **MUST** include:

For `WebRtcNet.Api` behavior changes, PRs **MUST** also update or validate:

- `documents\specs\index\spec-map.json` (canonical API symbol to spec anchor map)
- `documents\specs\index\spec-map.md` (human-readable mirror)
- `documents\crosswalk\webrtcnet-api-to-spec.md` (implementation status/adaptation notes)
- `docs\standards\specs\index\spec-map.json` (canonical API symbol to spec anchor map)
- `docs\standards\specs\index\spec-map.md` (human-readable mirror)
- `docs\standards\crosswalk\webrtcnet-api-to-spec.md` (implementation status/adaptation notes)

## 3. Test gates by change area

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ See [WebRTC 1.0: Real-time Communication Between Browsers](https://www.w3.org/TR

## Local W3C spec corpus

This repository keeps a local standards corpus in `documents\specs\` to support standards-alignment work in `WebRtcNet.Api` without repeated web fetching.
This repository keeps a local standards corpus in `docs\standards\specs\` to support standards-alignment work in `WebRtcNet.Api` without repeated web fetching.

- Canonical snapshots: `TR-*.html`
- Copilot-friendly artifacts: `*-summary.md`, `*-idl.webidl`, and `specs\index\spec-map.*`
- API mapping: `documents\crosswalk\webrtcnet-api-to-spec.md`
- API mapping: `docs\standards\crosswalk\webrtcnet-api-to-spec.md`

Refresh with:

Expand Down
6 changes: 4 additions & 2 deletions WebRtcNet.Api/Media/MediaStreamTrack.cs
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,12 @@ public abstract class MediaStreamTrack
/// <remarks>
/// Required constraints (for example <c>exact</c>, <c>min</c>, and <c>max</c>) participate in acceptance checks.
/// Advanced sets are evaluated in the order supplied and may be skipped when unsatisfied without failing the entire apply.
/// Local reference: <c>documents/specs/mediacapture/mediacapture-idl.webidl</c>
/// (<c>MediaStreamTrack.applyConstraints</c>, <c>MediaTrackConstraintSet</c>, and <c>MediaTrackConstraints.advanced</c>).
/// See the published W3C definitions for <c>applyConstraints</c>,
/// <c>MediaTrackConstraintSet</c>, and <c>MediaTrackConstraints.advanced</c>.
/// </remarks>
/// <seealso href="https://www.w3.org/TR/mediacapture-streams/#dom-mediastreamtrack-applyconstraints" />
/// <seealso href="https://www.w3.org/TR/mediacapture-streams/#dom-mediatrackconstraints-advanced" />
/// <seealso href="https://www.w3.org/TR/mediacapture-streams/#dom-mediatrackconstraintset" />
/// <seealso href="https://www.w3.org/TR/mediacapture-streams/#constrainable-interface" />
/// <param name="constraints">Constraints to apply, or <see langword="null" /> to clear constraints.</param>
public abstract void ApplyConstraints(MediaTrackConstraints? constraints = null);
Expand Down
6 changes: 4 additions & 2 deletions WebRtcNet.Api/Media/MediaTrackConstraintSet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,11 @@ public class MediaTrackConstraintSet
/// Gets whether this set contains any required constraints (for example <c>exact</c>, <c>min</c>, or <c>max</c>).
/// </summary>
/// <remarks>
/// Local reference: <c>documents/specs/mediacapture/mediacapture-idl.webidl</c>
/// (<c>MediaTrackConstraintSet</c> and <c>Constrain*</c> definitions).
/// See the published W3C definitions for <c>MediaTrackConstraintSet</c> and
/// <c>Constrain*</c> dictionary members.
/// </remarks>
/// <seealso href="https://www.w3.org/TR/mediacapture-streams/#dom-mediatrackconstraintset" />
/// <seealso href="https://www.w3.org/TR/mediacapture-streams/#dom-mediatrackconstraints" />
public bool HasRequiredConstraints =>
(Width?.IsRequired ?? false) ||
(Height?.IsRequired ?? false) ||
Expand Down
11 changes: 6 additions & 5 deletions WebRtcNet.Api/Media/MediaTrackConstraints.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ public partial class MediaTrackConstraints : MediaTrackConstraintSet
/// </summary>
/// <remarks>
/// This corresponds to <c>MediaTrackConstraints.advanced</c> in the specification.
/// Local reference: <c>documents/specs/mediacapture/mediacapture-idl.webidl</c>
/// (<c>MediaTrackConstraints</c>, <c>MediaTrackConstraintSet</c>, and
/// <c>MediaStreamTrack.applyConstraints(optional MediaTrackConstraints constraints = {})</c>).
/// See the published W3C definitions for <c>MediaTrackConstraints</c>,
/// <c>MediaTrackConstraintSet</c>, and <c>MediaStreamTrack.applyConstraints</c>.
/// </remarks>
/// <seealso href="https://www.w3.org/TR/mediacapture-streams/#dom-mediatrackconstraints-advanced" />
/// <seealso href="https://www.w3.org/TR/mediacapture-streams/#dom-mediatrackconstraintset" />
Expand All @@ -44,9 +43,11 @@ public IList<MediaTrackConstraintSet>? Advanced
/// Enumerates constraints in processing order: base set first, then <see cref="Advanced" /> entries in list order.
/// </summary>
/// <remarks>
/// Local reference: <c>documents/specs/mediacapture/mediacapture-idl.webidl</c>
/// (<c>MediaTrackConstraints</c> and <c>MediaTrackConstraints.advanced</c> sequence ordering).
/// See the published W3C definitions for <c>MediaTrackConstraints</c> and
/// <c>MediaTrackConstraints.advanced</c> sequence ordering.
/// </remarks>
/// <seealso href="https://www.w3.org/TR/mediacapture-streams/#dom-mediatrackconstraints" />
/// <seealso href="https://www.w3.org/TR/mediacapture-streams/#dom-mediatrackconstraints-advanced" />
public IEnumerable<MediaTrackConstraintSet> EnumerateConstraintSetsInProcessingOrder()
{
yield return this;
Expand Down
2 changes: 1 addition & 1 deletion documents/README.md → docs/standards/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Documents
# Standards

This folder contains repository-local reference material used to support standards-alignment work in `WebRtcNet.Api`.

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This crosswalk maps high-value `WebRtcNet.Api` symbols to current W3C specificat

Source-of-truth note:

- `documents\specs\index\spec-map.json` is the canonical API symbol to spec anchor map.
- `docs\standards\specs\index\spec-map.json` is the canonical API symbol to spec anchor map.
- This crosswalk adds implementation status, adaptation notes, and priority guidance.

## WebRTC 1.0
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Canonical files:

- `spec-map.json` is the source of truth for API symbol to W3C anchor mapping.
- `spec-map.md` should be kept in sync with `spec-map.json`.
- `documents\crosswalk\webrtcnet-api-to-spec.md` captures implementation status and adaptation notes.
- `docs\standards\crosswalk\webrtcnet-api-to-spec.md` captures implementation status and adaptation notes.

## Status vocabulary

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion scripts/update-spec-docs.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ function Get-Hash {
return (Get-FileHash -Algorithm SHA256 -Path $FilePath).Hash
}

$specRoot = Join-Path $RepoRoot "documents\specs"
$specRoot = Join-Path $RepoRoot "docs\standards\specs"
$indexLog = Join-Path $specRoot "index\update-log.md"

$downloads = @(
Expand Down
Loading