From a31caa8a036ca8d914be43c4ae140910aa960e3a Mon Sep 17 00:00:00 2001 From: Hongchan Choi Date: Fri, 11 Sep 2026 18:30:04 +0000 Subject: [PATCH] Use HTML table for overloaded methods to resolve Bikeshed fatal errors Bikeshed currently fails with fatal errors on method overloads when using the
 syntax (speced/bikeshed#1192).

This replaces the argumentdef blocks for earlier overloads of:
- OfflineAudioContext constructor(contextOptions)
- AudioNode.connect(destinationNode, output, input)
- AudioNode.disconnect(destinationNode)
- AudioNode.disconnect(destinationNode, output)
- AudioNode.disconnect(destinationNode, output, input)

with explicit HTML  definitions. This produces identical output while bypassing Bikeshed's argumentdef overload bug, clearing all fatal errors and allowing clean TR autopublishing.

Also clears expected-errs.txt as the build is now 100% error-free.
---
 expected-errs.txt |   8 --
 index.bs          | 249 ++++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 229 insertions(+), 28 deletions(-)

diff --git a/expected-errs.txt b/expected-errs.txt
index 78dc928e3..e69de29bb 100644
--- a/expected-errs.txt
+++ b/expected-errs.txt
@@ -1,8 +0,0 @@
-LINE: Can't find the 'contextOptions' argument of method 'OfflineAudioContext/constructor(numberOfChannels, length, sampleRate)' in the argumentdef block.
-LINE: Can't find the 'destinationNode' argument of method 'AudioNode/connect(destinationParam, output)' in the argumentdef block.
-LINE: Can't find the 'input' argument of method 'AudioNode/connect(destinationParam, output)' in the argumentdef block.
-LINE: Can't find the 'destinationNode' argument of method 'AudioNode/disconnect(destinationParam, output)' in the argumentdef block.
-LINE: Can't find the 'destinationNode' argument of method 'AudioNode/disconnect(destinationParam, output)' in the argumentdef block.
-LINE: Can't find the 'destinationNode' argument of method 'AudioNode/disconnect(destinationParam, output)' in the argumentdef block.
-LINE: Can't find the 'input' argument of method 'AudioNode/disconnect(destinationParam, output)' in the argumentdef block.
- ✔  Successfully generated, but fatal errors were suppressed
diff --git a/index.bs b/index.bs
index 87303693d..9d8aafeac 100644
--- a/index.bs
+++ b/index.bs
@@ -2596,9 +2596,32 @@ Constructors
                 |serializedRenderingSidePort|.
         
 
-        
-        contextOptions: The initial parameters needed to construct this context.
-        
+
+ + + + + + + + + + + + + + + + + + + +
Arguments for the + {{OfflineAudioContext/constructor(contextOptions)}} method. +
ParameterTypeNullableOptionalDescription
+ contextOptions{{OfflineAudioContextOptions}}The initial parameters needed to construct this + context.
: OfflineAudioContext(numberOfChannels, length, sampleRate) :: @@ -3838,11 +3861,79 @@ Methods This method returns destination {{AudioNode}} object. -
-            destinationNode: The destination parameter is the {{AudioNode}} to connect to. If the destination parameter is an {{AudioNode}} that has been created using another {{AudioContext}}, an {{InvalidAccessError}} MUST be thrown. That is, {{AudioNode}}s cannot be shared between {{AudioContext}}s. Multiple {{AudioNode}}s can be connected to the same {{AudioNode}}, this is described in [[#channel-up-mixing-and-down-mixing|Channel Upmixing and down mixing]] section.
-            output: The output parameter is an index describing which output of the {{AudioNode}} from which to connect. If this parameter is out-of-bounds, an {{IndexSizeError}} exception MUST be thrown. It is possible to connect an {{AudioNode}} output to more than one input with multiple calls to connect(). Thus, "fan-out" is supported.
-            input:  The input parameter is an index describing which input of the destination {{AudioNode}} to connect to. If this parameter is out-of-bounds, an {{IndexSizeError}} exception MUST be thrown. It is possible to connect an {{AudioNode}} to another {{AudioNode}} which creates a cycle: an {{AudioNode}} may connect to another {{AudioNode}}, which in turn connects back to the input or {{AudioParam}} of the first {{AudioNode}}.
-        
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Arguments for the + {{AudioNode/connect(destinationNode, output, input)}} method. +
ParameterTypeNullableOptionalDescription
+ destinationNode{{AudioNode}}The destination parameter is the + {{AudioNode}} to connect to. + If the destination parameter is an + {{AudioNode}} that has been created using another + {{AudioContext}}, an {{InvalidAccessError}} MUST be + thrown. That is, {{AudioNode}}s cannot be + shared between {{AudioContext}}s. Multiple + {{AudioNode}}s can be connected to the same + {{AudioNode}}, this is described in + [[#channel-up-mixing-and-down-mixing|Channel Upmixing + and down mixing]] section.
+ output{{unsigned long}}The output parameter is an index + describing which output of the {{AudioNode}} from which + to connect. If this parameter + is out-of-bounds, an {{IndexSizeError}} exception MUST + be thrown. It is possible to connect an + {{AudioNode}} output to more than one input with + multiple calls to connect(). Thus, "fan-out" is + supported.
+ input{{unsigned long}}The input parameter is an index describing + which input of the destination {{AudioNode}} to connect + to. If this parameter is + out-of-bounds, an {{IndexSizeError}} exception MUST be + thrown. It is possible to connect an + {{AudioNode}} to another {{AudioNode}} which creates a + cycle: an {{AudioNode}} may connect + to another {{AudioNode}}, which in turn connects back + to the input or {{AudioParam}} of the first + {{AudioNode}}.
Return type: {{AudioNode}} @@ -3939,9 +4030,37 @@ Methods that go to a specific destination {{AudioNode}}. -
-            destinationNode: The destinationNode parameter is the {{AudioNode}} to disconnect. It disconnects all outgoing connections to the given destinationNode. If there is no connection to the destinationNode, an {{InvalidAccessError}} exception MUST be thrown.
-        
+ + + + + + + + + + + + + + + + + + + + +
Arguments for the + {{AudioNode/disconnect(destinationNode)}} method. +
ParameterTypeNullableOptionalDescription
+ destinationNode{{AudioNode}}The destinationNode parameter is the + {{AudioNode}} to disconnect. It disconnects all outgoing + connections to the given destinationNode. + If there is no connection to + the destinationNode, an + {{InvalidAccessError}} exception MUST be thrown. +
Return type: {{undefined}}
@@ -3952,10 +4071,49 @@ Methods {{AudioNode}} from any and all inputs of some destination {{AudioNode}}. -
-            destinationNode: The destinationNode parameter is the {{AudioNode}} to disconnect. If there is no connection to the destinationNode from the given output, an {{InvalidAccessError}} exception MUST be thrown.
-            output: The output parameter is an index describing which output of the {{AudioNode}} from which to disconnect. If this parameter is out-of-bounds, an {{IndexSizeError}} exception MUST be thrown.
-        
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Arguments for the + {{AudioNode/disconnect(destinationNode, output)}} method. +
ParameterTypeNullableOptionalDescription
+ destinationNode{{AudioNode}}The destinationNode parameter is the + {{AudioNode}} to disconnect. + If there is no connection to the + destinationNode from the given output, an + {{InvalidAccessError}} exception MUST be thrown. +
+ output{{unsigned long}}The output parameter is an index + describing which output of the {{AudioNode}} from which + to disconnect. If this + parameter is out-of-bounds, an {{IndexSizeError}} + exception MUST be thrown.
Return type: {{undefined}} @@ -3967,11 +4125,62 @@ Methods {{AudioNode}} from a specific input of some destination {{AudioNode}}. -
-            destinationNode: The destinationNode parameter is the {{AudioNode}} to disconnect. If there is no connection to the destinationNode from the given output to the given input, an {{InvalidAccessError}} exception MUST be thrown.
-            output: The output parameter is an index describing which output of the {{AudioNode}} from which to disconnect. If this parameter is out-of-bounds, an {{IndexSizeError}} exception MUST be thrown.
-            input: The input parameter is an index describing which input of the destination {{AudioNode}} to disconnect. If this parameter is out-of-bounds, an {{IndexSizeError}} exception MUST be thrown.
-        
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Arguments for the + {{AudioNode/disconnect(destinationNode, output, input)}} method. +
ParameterTypeNullableOptionalDescription
+ destinationNode{{AudioNode}}The destinationNode parameter is the + {{AudioNode}} to disconnect. + If there is no connection to the + destinationNode from the given output to + the given input, an {{InvalidAccessError}} exception + MUST be thrown.
+ output{{unsigned long}}The output parameter is an index + describing which output of the {{AudioNode}} from which + to disconnect. If this + parameter is out-of-bounds, an {{IndexSizeError}} + exception MUST be thrown.
+ input{{unsigned long}}The input parameter is an index describing + which input of the destination {{AudioNode}} to + disconnect. If this parameter + is out-of-bounds, an {{IndexSizeError}} exception MUST + be thrown.
Return type: {{undefined}}