David Neto | 3fe2779 | 2021-04-27 17:55:07 +0000 | [diff] [blame] | 1 | # Experimental extensions |
| 2 | |
| 3 | Sometimes a language feature proposed for WGSL requires experiementation |
| 4 | to prove its worth. Tint needs to support these, in general to enable |
| 5 | that experimentation. |
| 6 | |
| 7 | The steps for doing so are: |
| 8 | |
| 9 | 1. Choose a name for the feature, to be used in an `enable` directive. |
| 10 | An experimental extension should use prefix of `google_experimental_` |
| 11 | Example: |
| 12 | |
| 13 | enable google_experimental_f16; |
| 14 | |
| 15 | 2. Write down what the feature is supposed to mean. |
| 16 | This informs the Tint implementation, and tells shader authors what |
| 17 | has changed. |
| 18 | Ideally, this will take the form of one of the following: |
| 19 | |
| 20 | - A PR against the WGSL spec. |
| 21 | |
| 22 | - A description of what the contents of that PR would be, committed |
| 23 | as a document in this Tint repository. |
| 24 | |
| 25 | 3. File a tracking bug for adding the feature. |
| 26 | Note: Should the Tint repo have a label for experimental features? |
| 27 | |
| 28 | 4. File a tracking bug for removing the feature or converting it to |
| 29 | non-experimental. |
| 30 | |
| 31 | 5. Write a plan for removal of the experiment. |
| 32 | - Ideally, this plan is committed to this repository, especially the |
| 33 | description of public activities and commitments. However, we recognize |
| 34 | that some internal goals or metrics may be sensitive, and can be hidden. |
| 35 | - The plan is about process, not technical details. It should include: |
| 36 | - Who is the point of contact for this feature? The point of contact |
| 37 | is responsible when the feature causes an issue or gets in the way. |
| 38 | - What is your target date for declaring the experiment a success or |
| 39 | failure. In Chrome an experiment must be shipped or removed, in |
| 40 | finite time. |
| 41 | - What experience are you hoping to gain? Do you have target metrics? |
| 42 | - What approvals, if any, do you need from W3C? What is your plan to |
| 43 | present your case to W3C? |
| 44 | - The bug tracking removal of the experiment. |