diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc9402.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc9402.txt')
-rw-r--r-- | doc/rfc/rfc9402.txt | 357 |
1 files changed, 357 insertions, 0 deletions
diff --git a/doc/rfc/rfc9402.txt b/doc/rfc/rfc9402.txt new file mode 100644 index 0000000..75178e2 --- /dev/null +++ b/doc/rfc/rfc9402.txt @@ -0,0 +1,357 @@ + + + + +Independent Submission M. Basaglia +Request for Comments: 9402 +Category: Informational J. Bernards +ISSN: 2070-1721 + J. Maas + 1 April 2023 + + + Concat Notation + +Abstract + + This document defines the Concat notation: a text-based language used + to describe pictures and videos whose subject includes cats, + containers, and their interactions. + +Status of This Memo + + This document is not an Internet Standards Track specification; it is + published for informational purposes. + + This is a contribution to the RFC Series, independently of any other + RFC stream. The RFC Editor has chosen to publish this document at + its discretion and makes no statement about its value for + implementation or deployment. Documents approved for publication by + the RFC Editor are not candidates for any level of Internet Standard; + see Section 2 of RFC 7841. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + https://www.rfc-editor.org/info/rfc9402. + +Copyright Notice + + Copyright (c) 2023 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (https://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. + +Table of Contents + + 1. Introduction + 1.1. Conventions Used in This Document + 2. Definition + 2.1. Terminology + 2.2. Grammar + 3. Elements + 3.1. Subjects + 3.1.1. Cats + 3.1.2. Partial Cats + 3.1.3. Other Animals + 3.1.4. Balls of Yarn + 3.2. Containers + 3.3. Positioning + 3.3.1. Horizontal Position + 3.3.2. Vertical Position + 3.3.3. Multiple Repeated Objects + 3.4. Changes over Time + 3.4.1. Disambiguation + 4. Internationalization Considerations + 5. Security Considerations + 6. IANA Considerations + 7. Normative References + Appendix A. Examples + Authors' Addresses + +1. Introduction + + Cat pictures and videos are often shared across the Internet. Many + of these files display feline subjects interacting with boxes and + other containers. + + Since there is currently no compact notation for describing such + media, this document details a standard notation to describe the + position and interaction of cats, containers, and related subjects + pictured in these images. + + The notation language described in this document is text-based and + limits itself to the US-ASCII character encoding [RFC0020], allowing + the transfer of cat-related materials in environments with restricted + capabilities. + +1.1. Conventions Used in This Document + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this document are to be interpreted as described in + BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all + capitals, as shown here. + +2. Definition + +2.1. Terminology + + This document uses specific terms to refer to items being depicted by + the notation described herein. + + To avoid ambiguity, such terms are defined as follows: + + Subject: The term "subject" is used in this document to refer to the + object that is the focus in the media to be annotated. This + usually is an animate object, specifically a cat. An annotation + can have multiple subjects interacting in various ways. + + Cat: A cat is a special kind of subject of feline origin. This + document will assume a house cat is present in the source media; + however, other felines are also acceptable. + + Container: The term "container" is used to refer to inanimate + objects inside of which one or more subjects can be located. Most + commonly, this will be a cardboard box; however, a variety of + containers can be used. + +2.2. Grammar + + The grammar is defined using the ABNF notation [RFC5234]. + + SEQUENCE = POSITION / POSITION "=>" SEQUENCE + POSITION = ADJACENT + ADJACENT = OVER / ADJACENT "+" OVER + OVER = MULTIPLE / MULTIPLE "/" POSITION + MULTIPLE = CONCAT / NUMBER [ "*" ] MULTIPLE / NUMBER "/" MULTIPLE + CONCAT = SUBJECT [ NUMBER ] / [ PARTIAL ] CONTAINER [ PARTIAL ] + CONTAINER = "[" OPT-POS "]" / "(" OPT-POS ")" + CONTAINER =/ "{" OPT-POS "}" / "<" OPT-POS ">" + OPT-POS = [ POSITION ] + SUBJECT = CAT / 1*ALPHA / "@" + CAT = "cat" / PARTIAL + PARTIAL = "c" / "a" / "t" / "ca" / "at" + ALPHA = %x41-5A / %x61-7A + NUMBER = 1*DIGIT + DIGIT = "0" / "1" / "2" / "3" / "4" + DIGIT =/ "5" / "6" / "7" / "8" / "9" + +3. Elements + +3.1. Subjects + +3.1.1. Cats + + The standard notation for a cat is the word cat. + +3.1.2. Partial Cats + + When referencing cats partly inside a container, the annotation MUST + contain the full cat mark adequately split inside and outside the + container. + + If a cat is only partly visible in the frame of the picture or video, + the annotation MAY only reference the visible portion of the cat. + + The partial cat notations are as follows: + + c: marks the head of the cat. + + a: marks the body of the cat. + + t: marks the tail of the cat. + + ca: marks the head and body of the cat. + + at: marks the body and tail of the cat. + + The annotation for a partial cat SHOULD use the terms mentioned above + that best describe the portion of the cat that is being referenced. + +3.1.3. Other Animals + + Other animals or animate objects SHOULD be represented with a + suitable word describing the species of such animal. The cat- + specific words described in this document MUST NOT be used for non- + feline subjects. + +3.1.4. Balls of Yarn + + Balls of yarn SHOULD be represented with @. + +3.2. Containers + + When a cat or other subject is inside a container, the container + notation MUST be used. Such notation is denoted by its subject being + between brackets. The type of bracket depends on the shape of the + container as follows: + + * Square brackets represent boxes or other containers with a + rectangular opening. + + * Parentheses represent containers with a round opening or shape. + + * Curly braces SHALL be used to represent soft containers without a + fixed shape. + + Additionally, angle brackets MAY be used to group subjects outside a + container. Such annotations MUST NOT contain partial cats. + +3.3. Positioning + + The Concat notation only gives information about the general layout + of subjects and containers, but it does make a distinction between + horizontal and vertical positions. + + The order of positional operands SHOULD follow the order in which + they appear from left to right in the source media. + +3.3.1. Horizontal Position + + The + operator is used to represent subjects or containers next to + each other. + +3.3.2. Vertical Position + + When a subject is above or on top of another, the operator / MUST be + used. + +3.3.3. Multiple Repeated Objects + + When multiple objects or configurations are repeated, the shorthand + notation MAY be used. + + Horizontal positioning is denoted by a number followed by an optional + * and the annotation to be repeated. + + Similarly, for vertical positioning, repeated objects are denoted by + a number followed by / and the annotation to be repeated. + + When using such a shorthand, the number of repetitions MUST be a + positive integer. + +3.4. Changes over Time + + In the case of videos or other animations, a proper Concat notation + SHOULD make use of the state change operator (=>) to mark significant + changes in the cat position and major interactions. + +3.4.1. Disambiguation + + Subject tokens MAY be followed by an integer identifier to + distinguish specific cats, balls of yarn, or other subjects. An + annotation containing such numeric disambiguations MUST contain such + disambiguations for all cats and balls of yarn. + + Since a specific subject can only appear once in a static image, + disambiguation identifiers SHOULD be used only on annotations showing + state changes. + +4. Internationalization Considerations + + The word cat is in English and is provided to allow transfer of + Concat notations using only the US-ASCII character encoding + [RFC0020]. + + Users of other languages MAY extend the alphabet and use their + localized words for cat and other animals. + + Non-standard words for cats SHOULD NOT be used unless all parties + involved in the production and consumption of the Concat notation + have agreed upon a character encoding and a language prior to the + transmission of the annotation. + +5. Security Considerations + + A cat might find themselves in a container smaller than the perceived + volume of the cat. While this might seem to be a dangerous + situation, it's actually a natural occurrence when the cat is in its + liquid form. + + Cats might chew on the cardboard of the box containing them. To + mitigate this attack, we recommend having multiple boxes to put the + cats into. + +6. IANA Considerations + + This document has no IANA actions. + +7. Normative References + + [RFC0020] Cerf, V., "ASCII format for network interchange", STD 80, + RFC 20, DOI 10.17487/RFC0020, October 1969, + <https://www.rfc-editor.org/info/rfc20>. + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, + DOI 10.17487/RFC2119, March 1997, + <https://www.rfc-editor.org/info/rfc2119>. + + [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax + Specifications: ABNF", STD 68, RFC 5234, + DOI 10.17487/RFC5234, January 2008, + <https://www.rfc-editor.org/info/rfc5234>. + + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC + 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, + May 2017, <https://www.rfc-editor.org/info/rfc8174>. + +Appendix A. Examples + + This appendix provides some examples of the Concat notation. + + [cat] + + Figure 1: A Cat in a Box + + [cat] + cat + + Figure 2: A Cat in a Box Next to a Cat Not in a Box + + cat / [cat] + + Figure 3: A Cat over a Box Containing Another Cat + + [c]at + + Figure 4: A Cat with Its Head inside a Box + + 3 * cat + + Figure 5: 3 Cats Side by Side + + 3 / cat + + Figure 6: 3 Cats on Top of Each Other + + cat + cat / [cat] + + Figure 7: A Cat Standing Next to a Box That Has a Cat on Top and + inside of It + + <cat + cat> / [cat] + + Figure 8: Two Cats Standing on a Box with Another Cat inside of It + + cat1 + [cat2] => cat2 + [cat1] + + Figure 9: A Cat inside a Box and a Cat outside Swap Places + +Authors' Addresses + + Mattia Basaglia + Email: glax@dragon.best + URI: https://dragon.best/ + + + Joep Bernards + Email: joep@duali.xyz + + + Joost Maas + Email: J.f.w.maas@tue.nl |