init:
Se ejecuta una vez por píxel. Define aquí el valor inicial de la órbita y cualquier variable auxiliar.
Aprende cómo las Definitions canónicas FRM-like v1 impulsan las fórmulas Standard publicadas y después usa los ejemplos separados del Editor compatible con Classic sin confundir los dos contratos de fuente.
FRM-like v1 de FractalPark es el lenguaje de fuente canónico y tipado detrás de las Definitions Standard publicadas. Una Definition fija su lenguaje, biblioteca estándar, NumericProfile, parámetros, estado inicial, paso repetido de órbita y predicado de continuación de la iteración.
Classic .frm surgió del ecosistema Fractint y sigue siendo el contrato de fuente usado por el Editor independiente compatible con Classic y la canalización de importación. FractalPark analiza y diagnostica ese dialecto por separado; la fuente Classic y frmSemanticsVersion 1 o 2 no son grafías alternativas de FRM-like v1 canónico.
Para los orígenes y la historia del proyecto en general, consulta el sitio del proyecto Fractint.
Esta tabla de compatibilidad describe la ruta del Editor y de importación compatible con Classic. Las Definitions Standard canónicas publicadas usan el analizador FRM-like v1 versionado por separado, IR tipado, backend standard32 y Safety Envelope fijo.
| Nivel | Significado | Ámbito verificado |
|---|---|---|
| Compatible | Cubierto por las pruebas del compilador y utilizable sin una salvedad semántica. |
|
| Adaptado | Aceptado con una diferencia semántica documentada o como extensión de FractalPark. |
|
| No compatible | No se conserva con el compilador ni el flujo de archivos actual; se rechaza en lugar de reescribirse silenciosamente. |
|
Esta es una base de compatibilidad Classic probada, no una afirmación de compatibilidad completa con Fractint. Es distinta del registro de publicación Standard.
Estos recuentos de capacidad de importación Classic provienen del manifiesto de compatibilidad versionado: 588 entradas objetivo comprenden 579 aprobaciones strict-v2 y 9 exenciones documentadas; 117 entradas separadas se excluyen con motivos estables. No cuentan las Definitions FRM-like v1 publicadas.
Parámetros: p1, p2, p3, p4, p5 · Ranuras de función: fn1, fn2, fn3, fn4
Manifiesto de capacidades v1 · Semántica estricta v2
FRM-like v1 canónico y los ejemplos actuales del Classic Editor comparten una fórmula con nombre y las ideas de init, loop y bailout, pero sus gramáticas completas son diferentes. En v1, las directivas semánticas y una sección opcional de parámetros tipados también forman parte de la Definition.
Se ejecuta una vez por píxel. Define aquí el valor inicial de la órbita y cualquier variable auxiliar.
Se ejecuta una vez por iteración. Actualiza z y cualquier estado que necesite la siguiente iteración.
Devuelve la condición para continuar la órbita. Cuando se vuelve falsa, el punto ha escapado.
Los nombres de las secciones son estructurales, no comentarios: omitir o escribir mal uno produce un diagnóstico.
Ambas superficies se mantienen deliberadamente pequeñas. Los resúmenes siguientes son conceptos compartidos; usa la acción Source de un Formula Record publicado para las directivas canónicas y los parámetros tipados, y los diagnósticos del Editor para la fuente Classic.
FractalPark nunca pega texto de fuente en un shader. La fuente v1 canónica pasa por su analizador tipado y backend CPU/GLSL; la fuente del Classic Editor pasa por su escáner, frontend de entrada seleccionada, modelo de fórmula canónico y compilador de complementos.
El texto exacto del editor, del pegado o del archivo local es la entrada autoritativa.
El lexer reconoce nombres, números, operadores, marcadores de sección, comentarios y directivas, conservando las ubicaciones del código fuente.
El analizador construye un árbol de fórmula estructurado y reporta declaraciones, expresiones y bloques de flujo de control malformados.
El validador revisa nombres, tipos, secciones y la semántica compatible antes de crear una fórmula canónica.
La generación de código emite funciones de shader y registra mapeos del GLSL generado de vuelta al código fuente FRM.
Una compilación exitosa se convierte en el mismo contrato de plugin de fórmula que usan el renderizador y el sistema de ensamblado de shaders.
Cada contrato de fuente tiene una ruta de implementación propia. El tiempo de ejecución Standard publicado usa FRM-like v1; el Editor independiente y los ejemplos actuales de fórmulas personalizadas usan la ruta compatible con Classic. Ninguno recurre silenciosamente al otro.
Estos son ejemplos del Editor compatible con Classic, no Definitions FRM-like v1 canónicas. Avanzan desde una pequeña fórmula cuadrática hasta parámetros y retroalimentación con estado; cada bloque de fuente procede del registro compartido del Editor y se compila durante las pruebas.
Lección 1
La fórmula de tiempo de escape más pequeña, útil para aprender primero la estructura init / loop / bailout.
Enfoque: la declaración y la estructura init / loop / bailout. Cambia el exponente o el umbral de escape solo después de que esta versión compile.
StarterBrot {
init:
z = 0
loop:
z = z^2 + c
bailout:
|z| < 4
}Lección 2
Demuestra los espacios de parámetros p1 / p2 y la diferencia entre cabs y |z|.
Enfoque: los espacios de parámetros p1 y p2, un literal complejo y cabs(z) como función de magnitud explícita.
ParameterDrift {
init:
z = 0
loop:
z = z^2 + c + p1 * 0.15 + p2 * (0.05, -0.02)
bailout:
cabs(z) < 8
}Lección 3
Usa zPrev como memoria de retroalimentación y combina bien con la coloración orbitEcho para envolventes de órbita.
Enfoque: zPrev como el estado de órbita anterior. La retroalimentación agrega memoria sin introducir una segunda variable de estado administrada manualmente.
OrbitEcho {
init:
z = pixel
loop:
z = sqr(z) + zPrev * (0.30, -0.12) + pixel * (0.85, 0.0)
bailout:
|z| < 48
}El FRM Editor independiente abre estos ejemplos compatibles con Classic y verificados por compilación mediante un ID estable. La fuente de fórmula permanece en la pestaña actual hasta que la guardas en tu biblioteca en la nube y nunca se incorpora en la URL. Esto no activa la importación ni los escritores v1 canónicos.
La compilación se detiene en la etapa insegura más temprana y reporta mensajes orientados al código fuente. Una construcción rechazada nunca se reescribe en algo que solo se parece.
Los caracteres inesperados y los identificadores no compatibles se reportan con su línea y columna.
Las secciones, expresiones o bloques de flujo de control malformados se diagnostican antes de la validación semántica.
Las variables desconocidas, las asignaciones inválidas, los desajustes de tipo y la semántica no compatible impiden la generación de código.
El GLSL generado conserva mapeos que pueden apuntar un fallo de compilación del shader de vuelta a la ubicación FRM de origen.
Al corregir un error, empieza con el primer mensaje reportado: los diagnósticos posteriores pueden ser consecuencias del mismo token faltante o de la misma expresión inválida.
Una fórmula que escribes es privada hasta que decidas lo contrario. Hay tres formas en que puede viajar — cada una explícita, ninguna silenciosa.
Privada por defecto
Las fórmulas viven en tu biblioteca en la nube, visibles solo para ti. Las obras que guardas llevan una copia del código fuente de la fórmula dentro del borrador, así que siempre se abren tal como las dejaste.
Descarga el archivo .frm
Tu fórmula es texto plano. Descárgala desde Mis fórmulas cuando quieras y conserva tu propia copia — sin solicitud de exportación ni esperas.
Publica una obra, comparte el código fuente
Publicar una obra que usa tu fórmula hace público el código fuente de la fórmula bajo la Licencia MIT: cualquiera puede leerlo, copiarlo y construir sobre él. La página de la comunidad muestra el nombre de la fórmula desde sus metadatos y ofrece el código fuente como descarga. Esto no se puede deshacer para esa publicación.
El texto completo de la Licencia MIT está en opensource.org.
Abre Explorar para comparar el comportamiento de las fórmulas integradas, la coloración, las transformaciones, la animación y los controles de exportación antes de escribir una fórmula personalizada.
Abrir ExplorarUsa el FRM Editor dedicado para el flujo actual de compilación, vista previa, importación y descarga compatible con Classic. No acepta fuente FRM-like v1 canónica; inspecciona la fuente v1 publicada desde un Formula Record y usa la acción Open o Remix de ese Record para ejecutarla.
El contexto histórico y los detalles de implementación se enlazan por separado para que la guía pueda distinguir el linaje de Fractint del contrato actual del compilador de FractalPark.