« first day (1602 days earlier)      last day (26 days later) » 

12:50 PM
@lyxal so when do you reckon we should release theseus?
3.5 maybe?
good question
I think whenever it's ready tbh
it's pretty much ready now
I just need to fix the URI-encoding thing
oh, and the release action will need to be changed
how so?
theseus's archive workflow is very different from how it works right now, since we have webpack
this is what needs to happen:
1. on release, the archive action clones theseus
2. the action clones Vyxal into the theseus repo
3. the action compiles Vyxal to JS and runs the data generator for theseus's files
4. the action copies the JS and data files into the dist/ directory
5. the action runs webpack in archive mode to monkeypatch the imports so they point to the newly compiled Vyxal artifacts
6. the contents of dist/ get uploaded to Pages
it bothers me that the data generators are in the JVM source so we'll end up compiling both JVM and JS
oh wait right I was gonna do that thing rydwolf mentioned
with the moving of the flags and inputs into tabs
(@lyxal thoughts on that? I won't do it if you veto it, which would be convenient since it means I have less work to do :p)
(specifically what he asked for was making the code editor half of the UI tabbed and putting flags and inputs into tabs there)
tabs are a good idea in theory
but in practice, I think I ended up not liking them as much
1:04 PM
@Ginger wait I forgor how uploading to pages works
iirc there are two options:
- use the entire repository as the pages source
- use an action to compile the repository and upload one specific directory
and we can't do #2 with the archive, can we
so that means step six will instead be some directory manipulation to move dist/ into the correct place
but this is 100% less cursed than the current sending-lists-of-files-between-actions system
  - name: Upload built HTML
    uses: actions/upload-pages-artifact@v1
    with:
      path: '.'
looks like you can specify path
yeah, but the problem with doing that for the archive is we need all of the archive directories to be uploaded
that'll work for the latest interpreter, though
@Ginger the current workflow Just Works because there's no compile step
the compile step is performed over in the main repo
I mean for the site itself
and the js is deployed on the pages domain in the main repo
@Ginger wait are you talking about the vyxal.js source or the website thesus itself?
1:09 PM
theseus is written in several languages, it has a compile step (which I carefully engineered at the start of this project to be monkeypatchable for precisely this reason)
(that's not what it's called but it's what I read it as)
@lyxal I'm talking about theseus
what the action needs to do is clone theseus, clone Vyxal, compile Vyxal, copy the artifacts into the right place, compile theseus in archive mode, and commit the build directory to git
does it ever compile to static html/js at all?
yes, that's the output of webpack
what goes into dist/
@Ginger oh well that seems pretty simple
1:11 PM
it is yeah
we just gotta make the changes to the actions :p
after I fix the URI bug, which should only take a minute
how did you test the actions the first time?
on prod :p
but actually through trial and error and by making dummy releases
guess I get to do that too
hooray
also: any chance we could move the generator for theseus.json to the JS code? because that also needs to be generated, which means compiling both JS and Java
also also: can mill be told where to stick the JS?
@user ^
@Ginger doubtful
@main def generateTheseus(descriptionFile: String, dataFile: String) =
  Files.write(
    Paths.get(descriptionFile),
    generateDescriptions().getBytes(StandardCharsets.UTF_8),
  )
  Files.write(
    Paths.get(dataFile),
    generateData().getBytes(StandardCharsets.UTF_8),
  )
guess we'll just have longer compile times, then
Files.write is a problem
because it's from this import:
import java.nio.file.{Files, Paths}
And that's a problem for what I hope would be obvious reasons :p
1:15 PM
hm yes
the problem being those are imported from the JVM
which means they aren't available for JS
Vyxal 3 -s, 11 bytes: d2ẆḤ'.3×←tW Vyxal It Online!
nice, it's fixed
okay. time to deploy
I guess it'll become available for realsies in the next Vyxal version
that might be sooner than you think if there's any more bugs with the 3.4.3+ lexers :p
anyhow, time to do some more 3.5 planngn
first: gotta change the site repo to use theseus
hehe
generate deez
1:25 PM
:3c
hmm wait I think I did a silly
I forgor about the landing page
that also needs to be webpacked........ ugh
guess that's what I'm doing today
this probably doesn't need to be anything too fancy
lazy webdev time
chatgpt W
@Ginger how similar do the two chars in ⊤T look in thesuseous
one sec
1:42 PM
bleugh
curse you APL for choosing a character for base conversion that looks too close to uppercase T
left/right tacks it is
how should the landing page look?
the current one is eugh
working on it
👍
(when I say working on it, I mean vercel is working on it for me :p)
A little like that
import { Button } from "@/components/ui/button"
import { ArrowRight, Terminal, Code, Zap } from "lucide-react"

export default function LandingPage() {
  return (
    <div className="min-h-screen bg-gray-900 text-gray-300 font-mono">
      <header className="container mx-auto px-4 py-6 flex justify-between items-center">
        <div className="flex items-center space-x-2">
          <Terminal className="w-8 h-8 text-blue-400" />
          <span className="text-2xl font-bold">Vyxal</span>
        </div>
...right
none of that stuff is gonna link to anything yet :p
1:47 PM
docs and community do
lmao
the Facade
I'll see what I can do
 
1 hour later…
2:49 PM
@lyxal I like that this advertises the REPL, a feature which is notably not available on the web interpreter :p
(although it could be...)
feh
no easy way to reuse our Lezer grammars for highlighting except including codemirror in the page
which I guess we can do

« first day (1602 days earlier)      last day (26 days later) »