RFC 9402
Concat Notation
Concat Notation π±π¦β¨
- RFC: 9402
- Title: Concat Notation
- Authors: M. Basaglia, J. Bernards, and J. Maas
- Stream: Independent Submission
- Category: Informational
- ISSN: 2070-1721
- Date: 1 April 2023
- Obsoletes / Updates: Nothing is listed in the title block.
Okay bestie, this is a whole April Fools' RFC about describing cat pics with text. It's giving pure chaotic genius ππ
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. Literally the cutest little spec π«Ά
Status of This Memo π
This document is not an Internet Standards Track specification; it is published for informational purposes. So it's not a standard, just vibes π
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. Main character energy, honestly ππ¦
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. So this is the fix we've been waiting for π¦
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. Works even on the most basic setups, periodt π
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. So only the capital versions are the real deal, lowercase is just chatting π
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. Ur main subject, basically π§
- 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. Cats are the real stars here π
- 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. The box is always iconic π¦π
2.2. Grammar π
The grammar is defined using the ABNF notation [RFC5234]. Here's the full ABNF, no cap:
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. Simple, iconic, no notes π
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. Gotta show the whole kitty even when she's half in a box π¦β¨
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. Peekaboo cats are valid, bestie π«£
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. Pick the one that actually fits, you know what I mean π
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. A dog is not a cat, and we will not be taking questions at this time πΆπ«
3.1.4. Balls of Yarn π§Ά
Balls of yarn SHOULD be represented with @. Yarn is the true cat accessory, iykyk π§Άπ§Ά
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. Angle brackets are for grouping only, so no half kitties in there π ββοΈ
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. Layout-brain activated π§
The order of positional operands SHOULD follow the order in which they appear from left to right in the source media. Read it like a book, babe π
3.3.1. Horizontal Position β‘οΈ
The + operator is used to represent subjects or containers next to each other. Side by side, slay π―ββοΈ
3.3.2. Vertical Position β¬οΈ
When a subject is above or on top of another, the operator / MUST be used. Stacking cats is a whole mood ποΈπ
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. No negative cats, that's just not how it works π
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. Plot twist moments get the arrow πΉ
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. If you number one, number them all, no favourites π€
Since a specific subject can only appear once in a static image, disambiguation identifiers SHOULD be used only on annotations showing state changes. Numbers are for when kitty moves, obviously π¦
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. Bonjour, chat π₯
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. Everyone has to be on the same page first, no surprise kitties π
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 are truly chaos liquids.
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. Multiple boxes, bestie, that's the security plan π‘οΈπ¦π¦
6. IANA Considerations π³οΈ
This document has no IANA actions. Nothing to register, nothing to request, just vibes πΈ
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. Time to see it in action, the good stuff π€©
[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.bestURI:https://dragon.best/ - Joep Bernards Email:
joep@duali.xyz - Joost Maas Email:
J.f.w.maas@tue.nl
That's the whole RFC, bestie! ππ Cats, boxes, and yarn, all in spec form π§Άπβ¨
π¦ where this page comes from
- ietf: rfc9402 2023-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms