RFC 9402 | Concat Notation | April 2023 |
Basaglia, et al. | Informational | [Page] |
This document defines the Concat notation: a text-based languageused to describe pictures and videos whose subject includes cats,containers, and their interactions.¶
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 athttps://www.rfc-editor.org/info/rfc9402.¶
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.¶
Cat pictures and videos are often shared across the Internet.Many of these files display feline subjects interactingwith boxes and other containers.¶
Since there is currently no compact notation for describing such media,this document details a standard notation to describe the positionand interaction of cats, containers, and related subjects picturedin these images.¶
The notation language described in this document is text-based andlimits itself to the US-ASCII character encoding[RFC0020], allowingthe transfer of cat-related materials in environments with restrictedcapabilities.¶
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.¶
This document uses specific terms to refer to items beingdepicted by the notation described herein.¶
To avoid ambiguity, such terms are defined as follows:¶
The term "subject" is used in this document to refer to the objectthat 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.¶
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.¶
The term "container" is used to refer to inanimate objects inside ofwhich one or more subjects can be located.Most commonly, this will be a cardboard box; however, a variety of containerscan be used.¶
The grammar is defined using the ABNF notation[RFC5234].¶
SEQUENCE = POSITION / POSITION "=>" SEQUENCEPOSITION = ADJACENTADJACENT = OVER / ADJACENT "+" OVEROVER = MULTIPLE / MULTIPLE "/" POSITIONMULTIPLE = CONCAT / NUMBER [ "*" ] MULTIPLE / NUMBER "/" MULTIPLECONCAT = SUBJECT [ NUMBER ] / [ PARTIAL ] CONTAINER [ PARTIAL ]CONTAINER = "[" OPT-POS "]" / "(" OPT-POS ")"CONTAINER =/ "{" OPT-POS "}" / "<" OPT-POS ">"OPT-POS = [ POSITION ]SUBJECT = CAT / 1*ALPHA / "@"CAT = "cat" / PARTIALPARTIAL = "c" / "a" / "t" / "ca" / "at"ALPHA = %x41-5A / %x61-7ANUMBER = 1*DIGITDIGIT = "0" / "1" / "2" / "3" / "4"DIGIT =/ "5" / "6" / "7" / "8" / "9"¶
When referencing cats partly inside a container, the annotationMUSTcontain the full cat mark adequately split inside and outside thecontainer.¶
If a cat is only partly visible in the frame of the picture or video,the annotationMAY only reference the visible portion of the cat.¶
The partial cat notations are as follows:¶
c
:a
:t
:ca
:at
:The annotation for a partial catSHOULD use the terms mentioned abovethat best describe the portion of the cat that is being referenced.¶
Other animals or animate objectsSHOULD be represented with asuitable word describing the species of such animal.The cat-specific words described in this documentMUST NOT be used fornon-feline subjects.¶
Balls of yarnSHOULD be represented with@
.¶
When a cat or other subject is inside a container, the containernotationMUST be used. Such notation is denoted by its subject beingbetween brackets. The type of bracket depends on the shape of thecontainer as follows:¶
Additionally, angle bracketsMAY be used to group subjects outside a container. Such annotationsMUST NOT contain partial cats.¶
The Concat notation only gives information about the general layout ofsubjects and containers, but it does make a distinction betweenhorizontal and vertical positions.¶
The order of positional operandsSHOULD follow the order in which theyappear from left to right in the source media.¶
The+
operator is used to represent subjects or containersnext to each other.¶
When a subject is above or on top of another, the operator/
MUST beused.¶
When multiple objects or configurations are repeated, the shorthandnotationMAY be used.¶
Horizontal positioning is denoted by a numberfollowed by an optional*
and the annotation to be repeated.¶
Similarly, for vertical positioning, repeated objects are denoted bya number followed by/
and the annotation to be repeated.¶
When using such a shorthand, the number of repetitionsMUST be apositive integer.¶
In the case of videos or other animations, a proper Concat notationSHOULD make use of the state change operator (=>
) to mark significantchanges in the cat position and major interactions.¶
Subject tokensMAY be followed by an integer identifierto distinguish specific cats, balls of yarn, or other subjects.An annotation containing such numeric disambiguationsMUST contain such disambiguations for all cats and balls of yarn.¶
Since a specific subject can only appear once in a static image,disambiguation identifiersSHOULD be used only on annotations showingstate changes.¶
The wordcat
is in English and is provided to allow transfer ofConcat notations using only the US-ASCII character encoding[RFC0020].¶
Users of other languagesMAY extend the alphabet and use their localizedwords for cat and other animals.¶
Non-standard words for catsSHOULD NOT be used unless all partiesinvolved in the production and consumption of the Concat notationhave agreed upon a character encoding and a language prior to thetransmission of the annotation.¶
A cat might find themselves in a container smaller than the perceivedvolume 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. Tomitigate this attack, we recommend having multiple boxes to put thecats into.¶
This document has no IANA actions.¶
This appendix provides some examples of the Concat notation.¶
[cat]
[cat] + cat
cat / [cat]
[c]at
3 * cat
3 / cat
cat + cat / [cat]
<cat + cat> / [cat]
cat1 + [cat2] => cat2 + [cat1]