[RFC Home] [TEXT|PDF|HTML|XML]

INFORMATIONAL
Meticulous Engineering Overseeing Workgroup                         Glax
Internet-Draft                                                     Raugh
Intended status: Informational                                     Duali
Expires: Never                                                          
                                                              March 2022

                           Poescont notation

Abstract

   This document defines the "poescont" 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 document is a product of the Meticulous Engineering Overseeing
   Workgroup (MEOW) and represents information that the MEOW has deemed
   valuable to provide for permanent record.  It represents the
   consensus of the Meticulous Engineering Overseeing Workgroup (MEOW).

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://dragon.best/rfc/draft-glax-poescont-01.html.

Copyright Notice

   Copyright (c) 2022 Meticulous Engineering Overseeing
   Workgroup and the persons identified as the document authors.
   All rights reserved.

Table of Contents

   1 Introduction .....................................................1
      1.1 Conventions Used in This Document ...........................2
   2 Definition .......................................................3
      2.1 Terminology .................................................4
      2.2 Grammar .....................................................5
   3 Elements .........................................................6
      3.1 Cats ........................................................7
         3.1.1 Partial Cats ...........................................8
         3.1.2 Other Animals ..........................................9
         3.1.3 Balls of Yarn .........................................10
      3.2 Containers .................................................11
      3.3 Positioning ................................................12
         3.3.1 Horizontal Position ...................................13
         3.3.2 Vertical Position .....................................14
         3.3.3 Multiple Repeated Objects .............................15
      3.4 Changes Over Time ..........................................16
         3.4.1 Disambiguation ........................................17
   4 Internationalization Considerations .............................18
   5 Security Considerations .........................................19
   6 IANA Considerations .............................................20
   7 References ......................................................21
   Appendix A Examples ...............................................22

1. Introduction

   Cat pictures and videos are often shared across the internet,
   many of such files display feline subjects interacting
   with boxes and other containers.

   Since currently there is no compact notation for describing such media,
   this document describes a standard notation to describe the position
   and interaction of cats, containers and related subjects pictured
   in these images.

   The notation language descibed in this document is text-based and
   limits itself to the US-ASCII [RFC20] character encoding, 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.

3. Definition

3.1. Terminology

   This document uses some specific terms to refer to items being
   described by the notation described herein.

   To avoid ambiguity some of 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. While usually this document will assume a house cat is present in the source media, other felines are also acceptable.
Poes
"poes" is used in the notation language to refer to cats. It's based on the Dutch word for "cat" and it allow to more accurately describe a cat only partially within a container (See [Partial Cats]).
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 but a variety of containers can be used.
3.2. Grammar The grammar is defined following the ABFN notation [RFC5234]. SEQUENCE = POSITION / POSITION "=>" SEQUENCE POSITION = ADJACENT ADJACENT = OVER / ADJACENT "+" OVER OVER = MULTIPLE / MULTIPLE "/" POSITION MULTIPLE = POESCONT / NUMBER [ "*" ] MULTIPLE / NUMBER "/" MULTIPLE POESCONT = SUBJECT [ NUMBER ] / [ PARTIAL ] CONTAINER [ PARTIAL ] CONTAINER = "[" OPT-POSITION "]" / "(" OPT-POSITION ")" CONTAINER =/ "{" OPT-POSITION "}" / "<" POSITION ">" OPT-POSITION = [ POSITION ] SUBJECT = POES / 1*ALPHA / "@" POES = "poes" / PARTIAL PARTIAL = "p" / "o" / "e" / "s" / "po" / "oe" / "es" ALPHA = %x41-5A / %x61-7A NUMBER = 1*DIGIT DIGIT = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" 5. Elements 5.1. Cats The standard notation for a cat is the word poes. Other words to describe a cat MAY be used (for example cat). 5.1.1. 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 of video, the annotation MAY only reference the visible portion of the cat. The partial cat notations is as follows: The annotation for a partial cat SHOULD use the terms mentioned above that best describe the portion of the cat that is being referenced. 5.1.2. 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. 5.1.3. Balls of Yarn Balls of yarn SHOULD be represented with @. 5.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: Additionally angle brackets MAY be used to group subjects outside a container, such annotations MUST NOT contain partial cats. 5.3. Positioning The Poescont 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 of how they appear from left to right in the source media. 5.3.1. Horizontal Position The + operator is used to represent subjects (or containers) next to each other. 5.3.2. Vertical Position When a subject is above or on top another, the operator / MUST be used. 5.3.3. Multiple Repeated Objects When multiple objects or configurations are repeated, the shorthand notation MAY be used. For horizontal positioning such notation is denoted by a number, followed by an optional * and then the annotation to be repeated. Similarly, for vertical position, 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. 5.4. Changes Over Time In the case of videos or other animations, a proper Poescont annotation SHOULD make use of the state change operator (=>) to mark significant changes in the cat position and major interactions. 5.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 in a static image a specific subject can only appear once, disambiguation identifiers SHOULD be used only on annotations showing state changes. 7. Internationalization Considerations The word poes is in Dutch and is provided to allow transfer of Poescont notations using only the US-ASCII [RFC20] character encoding. Users of other languages MAY extend the alphabet and use their localized words for cat and other animals. Using non-standard words for cats SHOULD NOT be used unless all parties involved in the production and consuption of the Poescont annotation have agreed upon a character encoding and a language prior to the transmission of the annotation. 9. Security Considerations A cat might find themselves in a container smaller than the perceived volume of the cat. While this might seem as 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. 11. IANA Considerations This document has no IANA actions. 13. References [RFC20] "ASCII format for network interchange", STD 80, RFC 20, DOI 10.17487/RFC0020, October 1969, https://www.rfc-editor.org/info/rfc20. [RFC2119] "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. [RFC8174] "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. [RFC5234] "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, DOI 10.17487/RFC5234, January 2008, https://www.rfc-editor.org/info/rfc5234. Appendix A. Examples This appendix provides some examples of the Poescont notation. [poes] Figure 1: Cat in a box [poes] + poes Figure 2: Cat in a box next to a cat not in a box poes / [poes] Figure 3: A cat over a box containing another cat [po]es Figure 4: A cat with their head and fore legs inside a box 3 * poes Figure 5: 3 cats side by side 3 / poes Figure 6: 3 cats on top of each other poes + poes / [poes] Figure 7: A cat standing next to a box which has a cat on top and inside of it <poes + poes> / [poes] Figure 8: Two cats standing on a box with another cat inside of it poes1 + [poes2] => poes2 + [poes1] Figure 9: A cat inside a box and a cat outside swap places