1 puntos por GN⁺ 3 시간 전 | 2 comentarios | Compartir por WhatsApp
  • Ratty es un emulador de terminal con renderizado por GPU que admite gráficos 3D en línea
  • Incluye un cursor de ratón giratorio
  • En el sitio se puede leer una entrada de blog
  • En el sitio se puede ir a Descargar Ratty
  • En el sitio se puede ir a Ver código fuente

2 comentarios

 
GN⁺ 2 시간 전
Comentarios de Hacker News
  • Veo que algunos aquí mencionaban usos de VR; hace tiempo experimenté un poco con una UI 3D superficial para desarrollo de software
    La profundidad era superficial, de apenas unos cm hacia adentro de la pantalla de la laptop, para que incluso usándola todo el día hubiera menos fatiga visual por VAC, y se parecía más a dibujar agregando color y capas en 3D que a andar agitando los brazos por la habitación
    El 3D se puede lograr con 3D tipo wobble, perspectiva creada con seguimiento de cabeza/ojos por webcam, estéreo con gafas de obturación, XR HMD, etc. El método wobble es el más fácil, pero se ve simpático y distrae; la perspectiva es más sutil y molesta menos
    El par estéreo de una app puede ser algo como “proveer dos ventanas para ojo izquierdo/derecho” o “mostrar alternadamente las vistas izquierda y derecha con etiquetado/sincronización/polling”, y buena parte de esto requiere soporte del sistema de ventanas/gestor/escritorio. Conseguí bastante ventaja apilando Electron y X
    Empujar texto al 3D es más divertido que solo colorearlo, y si aceptas una apariencia recargada, también puedes meter capas de información auxiliar separadas por profundidad. Si Emacs tuviera profundidad por carácter, sería algo que ni siquiera LispM tenía
    Aun así, al explorar posibilidades para algo que en esencia no es 3D, como el texto de código, es mucho más fácil prototipar la UX con colores de primer plano/fondo, tipografías, Unicode y animación; y en el navegador basta con usar div superpuestos y canvas 2D/3D transparentes

    • Tengo un sistema de renderizado de texto basado en glifos 3D completamente funcional, pero ha sido difícil lograr que la gente le eche un vistazo
      Cada carácter es un quad colocado en 3D y renderizado por instancias, así que puede manejar decenas de millones o más. Cada carácter se puede direccionar y modificar individualmente como si fuera un polígono distinto
      Lo estoy usando para renderizar un repositorio completo de GitHub de una sola vez, y tengo tanto una versión nativa para Apple como una versión web. La versión web incluye los elementos básicos de una configuración tipo IDE, y me gustaría escuchar ideas u opiniones
      https://ivanlugo.dev/ide
  • Parece que UNIX todavía sigue tratando de alcanzar la experiencia REPL de las workstations de Xerox o de una máquina Lisp típica
    Ya había gráficos en línea en 1981
    https://youtu.be/o4-YnLpLgtk?t=376

    • A veces siento que seguimos persiguiendo UX que ya estaba resuelta desde la Mother of all Demos de 1968
      Para quien aún no la haya visto: https://www.youtube.com/watch?v=yJDv-zdhzMY
    • Eso no es 3D
    • O también está TempleOS
  • Me gusta esto. No hay razón para que una terminal deba soportar solo texto
    Los notebooks de ciencia de datos muestran una dirección en la que la terminal podría evolucionar, y están pasando muchas cosas interesantes en este espacio. Kitty probablemente sea el innovador más agresivo aquí [1]
    Aunque no estoy seguro de que exista una visión general
    [1]: https://sw.kovidgoyal.net/kitty/protocol-extensions/

    • Ni siquiera hace falta que evolucione. Con mi proyecto euporie [1], puedes usar notebooks de ciencia de datos completamente dentro de la terminal, con salida de imágenes gráficas, HTML, LaTeX y más
      [1] https://github.com/joouha/euporie
    • pyvista logró usar los gráficos de Kitty para renderizar formas 3D arbitrarias directamente en la terminal
      Es un hack enorme, y no había otra manera de sacar rendimiento más que usar shm
      https://git.theresno.cloud/panki/kglobe
    • Terry A Davis ya había hecho esto. Entonces era igual de loco que ahora
    • Si mezclas estos gráficos 3D con notebooks de ciencia de datos, LLM locales, un harness de programación integrado y visibilidad sobre tus datos personales, podría salir algo ridículamente bueno
      Incluso podría superar el “mashup de haiku+macOS” que yo imaginaba como el futuro ideal de la computación
    • Me pregunto si esto podría funcionar también para las miniaturas en la terminal
      Normalmente prefiero recorrer el sistema de archivos desde la terminal en vez de usar un gestor de archivos a clics, y un ls en cuadrícula que mostrara modelos 3D dentro de un directorio (STL/STEP, impresión 3D) con renderizado basado en terminal sería realmente útil
      Puntos extra si permitiera previsualizar el modelo y rotarlo para inspeccionarlo
  • No sé muy bien para qué lo usaría, pero el efecto visual fue divertido y también me gustó el diseño brutalista del sitio web. Me hizo recordar los buenos viejos tiempos

  • ¿Esto se ve bastante bien, no?
    Tengo una pregunta. Por capacidad de renderizado, parece que también podría manejar bien 2D; ¿lo entendí mal? Las soluciones existentes para obtener imágenes 2D de alta calidad o rasterización en la terminal por lo general han sido bastante malas. Me pregunto si esto podría ser mejor que otras soluciones, o si termina chocando con alguna limitación fundamental en algún punto
    También me pregunto cómo funcionaría por ssh si hay aceleración por GPU

    • El protocolo gráfico de Kitty es bastante bueno, y Ghostty lo implementa por completo
    • Ya existen bastantes emuladores de terminal basados en GPU. ¿Te refieres a algo de ese estilo?
  • La terminal se está convirtiendo lentamente en un navegador web con todas las funciones

    • Siento que ya viene el meme de “siempre lo fue”. Hablando un poco más en serio, el propósito de una herramienta es lograr hacer el trabajo, y al final la pregunta es si puedes hacer útil esta herramienta
      Sinceramente aún no lo sé, pero pienso averiguarlo pronto por mí mismo :D
    • Pero si esto era justo lo que querías…
      https://github.com/fathyb/carbonyl
    • O tal vez la terminal ya es un navegador web con todas las funciones
      https://hyper.is/
    • La verdad sí lo parece
  • Que Terry descanse en paz. Ojalá nunca sea olvidado
    Y además, viendo este proyecto, parece que su espíritu sigue vivo :D

  • Esto me recordó cuando salió compiz y todos decían cosas como “mis ventanas están sobre un cubo” o “necesito ventanas gelatinosas
    Así que, como la clase de persona que soy, lo instalé de inmediato

    • En KDE Plasma todavía puedes usar eso. Tengo activadas las ventanas gelatinosas porque se ven geniales
    • Recuerdo esos buenos tiempos. En una cara del cubo de compiz tenía una instancia de Windows XP dedicada corriendo en VirtualBox
      Cambiar entre Windows y Ubuntu con todos esos efectos de animación de compiz se sentía como magia
  • El post del blog enlazado me hizo conocer el nuevo protocolo de glifos [1], y me pareció muy interesante
    Justamente me había lamentado hace unos 6 meses de que no existiera algo así [2]
    [1] https://rapha.land/introducing-glyph-protocol-for-terminals/
    [2] https://news.ycombinator.com/item?id=45805072

    • De acuerdo. Los glifos son la clave
      https://github.com/tikimcfee/glyph3d-js
    • Es una buena idea. A diferencia de algunos proyectos recientes de terminales que he visto, aborda el problema sin reinventar por completo el concepto de lo que una terminal puede hacer
  • Esto ya es posible hasta cierto punto con el protocolo gráfico de Kitty. Hice una demo de renderizado de gráficos 3D en Kitty [1]
    En realidad, la parte importante que falta es vsync, y parece que ratty tampoco lo tiene
    Si el renderizado no está sincronizado, el emulador de terminal puede leer el framebuffer mientras la aplicación está escribiendo en él, lo que puede producir artefactos visuales
    [1] https://x.com/zack_overflow/status/2035921425341763756?s=20

 
GN⁺ 3 시간 전
Opiniones en Lobste.rs
  • La landing page tenía olor a LLM, así que fui a revisar la entrada del blog y, efectivamente, así era

    🐁: "¿Cuánto participó la IA en este trabajo?"

    Para mi postura sobre la programación asistida por IA, consulten esta entrada del blog
    En pocas palabras, sí participó, pero para nada al punto de que pueda considerarse algo que "hice al aventón"
    Está bien, pero esta respuesta no resuelve la tendencia de la IA generativa a plagiar trabajos existentes sin atribución, ni otros problemas éticos

    • Creo que esta etiqueta encaja mejor para discusiones sobre vibe coding que sobre si se usó IA o no
      Si vamos a etiquetar el simple uso, habría que ponérsela al 90% de los proyectos, y la conversación además se desviaría del resultado en sí. No me gustaría que un hilo sobre una persona hackeando un emulador de terminal que muestra un ratón 3D terminara convertido en un debate ético
    • ¿Entonces también habría que poner en los créditos a Terry Davis (Temple OS) y a Jeff Reeder, Jim Bergman y Mark Hayton (RIPscript) como fuente de la idea?
    • Al principio pensé “qué padre, parece que habrá competencia amistosa”, pero mientras más profundizaba, más se me fue convirtiendo la sonrisa en decepción
      Metí algo de 3D para lograr un efecto wow rápido, pero creo que la meta debería ser repensar los fundamentos con cuidado. Aunque mi experimento fracase, me enorgullece haber hecho un producto con una perspectiva humana y para seres humanos
      Claro, si ellos lo están haciendo puramente por diversión, eso en sí no tiene nada de malo
    • Me da curiosidad qué parte de la landing page les dio esa sensación de LLM. A mí, salvo por el fondo negro, me parece casi igual a las landing pages que he visto en los últimos 5 a 10 años
  • Por más veces que lo lea, sigo estando tremendamente confundido
    Por un lado, como cuando veo sixel o kitty, no dejo de pensar “¿por qué?”. Montarle gráficos a una interfaz fundamentalmente orientada a texto se ve padre, pero no parece práctico. Claro, la misma objeción podría hacerse a curses o slang
    Por otro lado, me da curiosidad si sería posible meter de alguna forma un protocolo/pantalla de renderizado 3D dentro de Emacs. No tengo idea de qué haría con eso, pero como este proyecto, suena realmente genial

  • Me pasé una tarde/noche haciendo que mi framework CAD en Haskell emitiera objetos de una forma que Ratty pudiera leer
    Para el tiempo que le metí, se veía con bastante potencial, pero sí me habría gustado que el comando de “colocación de objetos” fuera un poco más configurable. Esperaba que también se encargara por sí mismo de hacer espacio dentro de la salida del REPL y hasta del escalado de objetos
    Además, está medio feo que Ratty no pueda cargar archivos fuera de la carpeta assets. El scroll también parecía algo roto; seguido veía que los objetos desaparecían antes de lo debido. Aunque también pudo haber sido error mío