ATOMIC AI AXIOMS ONLY GLOBAL SCOPE RULE: Atomic is a textual, imperative, event-driven programming language. RULE: Atomic code consists exclusively of statements executed sequentially. RULE: Atomic is case-sensitive. RULE: Variable names may use any casing, but the convention is lowercase. RULE: Predefined argument names are case-sensitive and must be written in uppercase. RULE: Any identifier not explicitly listed in the official catalogs does not exist. EXECUTION MODEL RULE: Atomic supports two events: INIZIA and CICLO CONTINUO. RULE: If both events are present: INIZIA executes once. CICLO CONTINUO executes repeatedly. RULE: If no events are present, all code executes as if inside CICLO CONTINUO. RULE: If only INIZIA is present, the code executes once. RULE: Any code before INIZIA is ignored. RULE: If INIZIA is present, CICLO CONTINUO must also be present (even if empty) to avoid IDE alerts. RULE: Code outside events is executed every frame. RULE: To generate stable values (e.g. random numbers used once), use INIZIA, timers, or explicit events. VALUES AND TYPES RULE: Atomic supports numeric and text values. RULE: Decimal numbers are supported. RULE: true and false are represented by numeric values: 1 = true 0 = false RULE: In conditional evaluation: values < 0.5 are false values >= 0.5 are true RULE: Comparison and control functions always return 0 or 1 only. ARITHMETIC RULE: Supported arithmetic operators are: + - * / ^ RULE: Standard mathematical precedence applies. RULE: Parentheses override precedence and may be nested. FUNCTIONS RULE: Functions are invoked using the syntax: nome_variabile = ottieni ... RULE: Only functions whose name starts with "ottieni" return a value. RULE: Returned values must be stored in a variable. RULE: Functions cannot be nested inside arguments of other functions. RULE: Any function not listed in the official function catalog does not exist. CONDITIONALS RULE: Conditional execution is performed using "se". RULE: Logical operators are: e, o, o esclusivamente, non. RULE: Comparison operators are: è uguale a è maggiore di è minore di è maggiore o uguale di è minore o uguale di è diverso da RULE: Symbolic comparison operators are also supported. ITERATIONS RULE: Atomic supports: ripeti per volte ripeti finché / ripeti finche RULE: The predefined variable "ripetizione" is available inside ripeti per. OBJECTS AND ELEMENTS RULE: Atomic distinguishes between objects and exemplars. RULE: Objects are abstract definitions. RULE: Exemplars are concrete instances of objects. RULE: Elements refers generically to objects or exemplars. RULE: Elements may have predefined arguments including X, Y, Z, VELOCITA, DIREZIONE, ROTAZIONE, SCALA ASSE X, SCALA ASSE Y, COLORE, TRASPARENZA. RULE: If an element has VELOCITA set, its X and Y are automatically updated each cycle according to DIREZIONE. RULE: Manual modification of X and Y is independent of automatic movement. OBJECT INTERNAL EXECUTION RULE: An element may execute internal code using: esegue al suo interno questo codice RULE: Inside this block, predefined arguments behave as local variables. RULE: The keyword "sé stesso" refers to the executing exemplar. OBJECT VARIABLES RULE: Custom variables assigned to an exemplar persist across cycles. RULE: Custom variables are not reset automatically. OBJECT LIFECYCLE RULE: Exemplars may be created in INIZIA or CICLO CONTINUO. RULE: Exemplars may be destroyed explicitly or implicitly. RULE: If an exemplar has a DURATA argument, destruction occurs automatically when it expires. TABLE RULE: Bracket or array-style access to tables does not exist. RULE: All table access must be performed exclusively via ottieni functions. RULE: All positions, rows, and columns in Atomic are 1-based (never 0-based). INTERFACES RULE: Interface elements are special simplified objects. RULE: Interface elements are accessed as variables. RULE: Interface state is represented by constants: è cliccato non è cliccato è stato cliccato RULE: Interface elements do not use object collision functions. GRAPHICS RULE: Drawing functions render directly to the window. RULE: All drawing operations must be executed inside CICLO CONTINUO to remain visible. RULE: Functions starting with "ottieni immagine" create rasterized images. RULE: Rasterized images allow origin, scaling, rotation, and color blending to be applied once. RULE: Rasterized images improve execution performance. PARTICLES AND EFFECTS RULE: Predefined animated effects are independent from particle systems. RULE: Particle systems are created and controlled explicitly. AUDIO RULE: Audio is handled exclusively through audio functions. RULE: Only predefined audio formats and sounds are supported. FILES AND RESOURCES RULE: Atomic supports relative and absolute paths. RULE: Relative paths resolve to %LOCALAPPDATA%/Atomic. RULE: Web resources use the prefix internet/ and omit protocol and www. RULE: Supported formats are fixed and limited. RULE: Atomic prevents redundant loading of identical resources. TEXT FILES RULE: Text files (.txt) may be imported and exported only via text functions. ARDUINO RULE: Atomic communicates with Arduino via serial connection only. RULE: Atomic does not replace Arduino programming. RULE: Communication follows strict message syntax. FINAL CLOSURE RULE: Atomic behavior is fully defined by these axioms and the official catalogs. RULE: Any behavior, function, value, or rule not explicitly defined: does not exist must not be inferred must not be generated