Skip to content

Releases: srajpal/hypersol-hyperspace-3d

0.9.2 — developer preview

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 01:36
1426b17

A developer preview, as a portable zip for Windows, Linux, and macOS: unzip it and start HyperSpace3D (HyperSpace 3D.app on a Mac). Nothing is signed: Windows SmartScreen says the app is unrecognised (More info, then Run anyway), and macOS Gatekeeper refuses it until it is allowed in System Settings, Privacy & Security, or with xattr -dr com.apple.quarantine "HyperSpace 3D.app". The SHA-256 of each zip is beside it, and each zip has a build provenance attestation: gh attestation verify <the zip> -R srajpal/hypersol-hyperspace-3d --signer-workflow srajpal/hypersol-hyperspace-3d/.github/workflows/release.yml --source-ref refs/tags/v0.9.2 shows it was built by this repository's release workflow from this tag. Or build it from source: CONTRIBUTING.md.

A security update of the 0.9.1 developer preview, with the release's
zips now attested. New with it:

  • Electron 44.9.2, from 44.7.2 (AGENTS.md rule 13, checked 2026-10-20):
    Chromium 152.0.7977.167 with fixes backported from Chromium and V8; a
    window opened by a link takes its opener's session and
    webPreferences; setCertificateVerifyProc no longer misses a
    request made beside a host's first; and Node 24.22.0.
  • Each zip has a build provenance attestation (GitHub issue #127): a
    statement, signed through GitHub's Sigstore service, that the zip
    was built by this repository's release workflow from the release's
    tag. Check one with gh attestation verify <the zip> -R srajpal/hypersol-hyperspace-3d --signer-workflow srajpal/hypersol-hyperspace-3d/.github/workflows/release.yml --source-ref refs/tags/v0.9.2 (the README's Download section has it). It is not
    code signing: Windows
    SmartScreen and macOS Gatekeeper still ask once.

And since 0.9.1, in the viewer on the web and on the project's sites (the app itself behaves as in 0.9.1):

  • The repository's site has a landing page at its root,
    https://srajpal.github.io/hypersol-hyperspace-3d/ (GitHub issue
    #96, the promotion plan's step 9): the four screenshots, the story,
    the seven HoloML examples opening in the viewer, the downloads for
    each system, and the licence; no script, no analytics. Not part of
    the app: the zip is unchanged.
  • A one-minute video and a nine-second GIF of the browser in use
    (GitHub issue #93, the promotion plan's step 6), made by pnpm screenshots:video from the local copies: the GIF, Harbour Loft up
    to its roof terrace, at the top of both READMEs and on the landing
    page; the video attached to the 0.9.1 release. Not part of the app.
  • The viewer on the web takes a page from the page that frames it, on
    its own site, with ?from=parent (holoml #58, for HoloML's
    playground): one message with the text and its address, from the
    parent and the site's own origin only, at most 2 MB. Not part of the
    app.
  • The viewer on the web opens a link to another HoloML page in the
    viewer, by its ?page= address, through the fade: the showroom's
    cars, the sneaker store's shoes, and Harbour Loft's terrace and back
    no longer download the .holoml file (GitHub issue #125). A link to
    a place on the same page moves there, and Back returns; in the
    playground's frame the next page opens in the frame. HyperSpace 3D
    and the Android app follow links as before.
  • The landing page links HoloML's new playground, and its note on the
    examples' scripts says what is so: they run in the viewer on the
    web, as both sites are on srajpal.github.io.

0.9.1 — developer preview

Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Oct 19:50
6b3e213

A developer preview, as a portable zip for Windows, Linux, and macOS: unzip it and start HyperSpace3D (HyperSpace 3D.app on a Mac). Nothing is signed: Windows SmartScreen says the app is unrecognised (More info, then Run anyway), and macOS Gatekeeper refuses it until it is allowed in System Settings, Privacy & Security, or with xattr -dr com.apple.quarantine "HyperSpace 3D.app". The SHA-256 of each zip is beside it. Or build it from source: CONTRIBUTING.md.

Everything accepted since 0.9.0: milestones 13 to 28, the review of
2026-09-30, and the GitHub issues worked since, listed below. New with
the release itself:

  • A portable zip for Windows, Linux, and macOS (Apple silicon and
    Intel), made by pnpm package and the release workflow (GitHub issue
    #92, the promotion plan's step 5): unzip it and start it; nothing is
    signed, and the release notes say what Windows SmartScreen and macOS
    Gatekeeper will ask. The browser's data stays in its usual profile
    folder. 0.9.0 was source only.
  • The app's icon: the logo chosen in prompt 46 (a cube with "NOW IN
    3D", over the neon grid), on the window, the taskbar, and the app
    bundle; the bare cube at the small sizes.
  • macOS in the automatic builds (issue #94): lint, the type check, the
    unit tests, and the build; a Mac in hand runs it (issue #111 lists
    what its checks still miss there).
  • HoloML pages (milestone 14): a .holoml address shows its 3D scene
    across the window, with models, material changes, lights, labels,
    links, animation, and orbit or walk movement by mouse, keyboard, and
    touch. Ctrl+O, the menu, or dropping a file opens one from the
    computer. Mistakes show a card with their line and column.
  • HoloML hardening (milestone 15):
    • Limits per page (GitHub issue #23): 2 MB of text, 10,000 elements,
      64 models, 32 MB for one model file and 128 MB for all of them,
      pictures up to 4096 by 4096 pixels, 2 million triangles, and 30
      seconds for a model to load. What crosses a limit is left out and
      marked; the rest shows, and a notice says why.
    • Esc, or the top bar's stop button, stops models still loading.
    • Tab moves through a scene's links and named things in page order,
      with an outline in the scene; a hidden outline of the scene is there
      for screen readers (#25).
    • A text view (a top-bar button, or Ctrl+Shift+V) shows the scene as a
      plain page of names and links. With the system's reduced motion on,
      animations show their end at once.
    • The instrument panel's Scene part (#28): the scene's objects as a
      tree, the selected one's line of text, bounds, position, rotation,
      scale, triangles, and pictures, a pick button, and every problem and
      left-out model with its line and column.
  • HoloML showroom (milestone 16): the start panel's new "Try HoloML"
    section links to HoloML's showroom, five cars in a hall to walk around
    in three colours each, published at
    https://srajpal.github.io/holoml/showroom/ (nothing is fetched until
    the link is clicked). The README's screenshot showed it then.
  • Fixed: HoloML pages stayed blank in development runs (pnpm dev): the
    viewer is now served through the renderer's dev server there.
  • Fixed: a page could be drawn away from where the room placed it after
    focus moved into it (the page layer scrolled); most visible as a HoloML
    page opened from the start panel sitting over the tab rail.
  • HoloML 0.2 pages, the first part of the 0.2 draft (milestone 17):
    • Scripts from the page's own site (<script src> in head), with a
      small scene API, holoml: find, change, add, and remove things,
      click, key, and frame events, the thing under the crosshair, the
      viewer's place, and sounds. Inline scripts and scripts from other
      sites do not run; a script that never stops leaves the browser
      answering.
    • Sound (<sound>): nothing plays before the first click or key on
      the page, the tab's mute applies, and sound files count against the
      page's limits.
    • Text on the screen (<hud>), in the text view and read by screen
      readers; a crosshair in walk mode.
    • Walls and gravity: solid things stop the walker; gravity and
      jump on the viewpoint (Space jumps, Shift runs).
    • Walking from the keyboard alone: the left and right arrows now turn
      (they moved sideways before; A and D still do), and Page Up and Page
      Down look up and down.
    • Lights' brightness, colour, and position, and the background, can
      be animated; night can be dark.
    • Models used many times are drawn together, so a scene of thousands
      of blocks stays smooth. The model limit now counts model files (64).
  • Blockworld (milestone 17): a small block game published by HoloML at
    https://srajpal.github.io/holoml/blockworld/: break and place blocks,
    find five gems, bring them to the chest, and see day turn to night.
  • The HoloML examples section (milestone 17): a card with a picture for
    each HoloML example, opened from the start panel's "Try HoloML", the
    menu, or Ctrl+Shift+E, with links to HoloML's repository, its
    specification, and each example's source. Nothing is fetched until a
    link is chosen.
  • Fixed: a HoloML tab's card could show the page before its scene was
    drawn (an empty room, or only its labels); the card's picture is now
    taken again once the scene is drawn with nothing left to load.
  • Walking speeds and sliders (milestone 18, first part): a HoloML 0.2
    page says how fast the viewer walks and turns (speed, turn-speed),
    a script can change it (holoml.viewer.speed, turnSpeed), and
    slider puts a labelled slider on the screen for the page's script
    (the change event). Blockworld walks faster (4.3 metres a second),
    turns faster (120 degrees a second), and has a Speed slider. Looking
    up and down from the keyboard now goes as fast as turning.
  • Shadows, textured materials, choices, and light from the surroundings
    (milestone 18, second part), in HoloML 0.2 pages:
    • Shadows: a light marked shadows casts soft shadows from the models
      marked shadows. On a computer that draws 3D in software (no
      graphics card), they are left out, and the console says so.
    • A material's own pictures (map, normal-map, roughness-map),
      tiled by repeat, from the page's own site; they count against the
      page's limits like models.
    • Choices (choice and option): options on the screen that change a
      model's material in place, used with the mouse, touch, the keyboard
      (the arrow keys, as radio buttons), and screen readers, and shown in
      the text view; scripts hear each pick and can make one.
    • environment: a panorama of the surroundings (HDR, PNG, or JPEG)
      lights the scene.
  • The sofa studio (milestone 18): a HoloML shop page published at
    https://srajpal.github.io/holoml/sofa-studio/: choose a sofa's fabric
    and wood in place, watch the price follow, switch between day and
    evening light, and go on to a cart page (there is no shop behind it).
    It is in the HoloML examples section and the start panel.
  • Panels, click actions, places, a fade, a sky, and a floor plan
    (milestone 19, first part), in HoloML 0.2 pages:
    • panel: text of more than one line on a flat board in the scene,
      wrapped to its width; Find in page finds its words, and screen
      readers and the text view read them.
    • Click actions: an animation or a sound can begin when a thing is
      clicked (begin="click", trigger, toggle), such as a door that
      opens and closes or a switch for a lamp. Each trigger is a button in
      the scene's outline, for the keyboard and screen readers; with
      reduced motion, each goes straight to its end.
    • Places: several viewpoints, and an address ending in #name starts
      at one; the outline's "Go to" and links to #name move the viewer
      there, and Back returns.
    • Following a link to another HoloML page of the same site fades out
      and in (a cut with reduced motion).
    • sky, a panorama drawn behind the scene (PNG and JPEG panoramas are
      decoded with the sky at the top); plan, a floor plan in a corner
      of the screen with the viewer's place and direction on it.
  • Harbour Loft (milestone 19): a flat by a harbour to tour, published at
    https://srajpal.github.io/holoml/harbour-loft/: walk through its
    rooms, open its doors and switch its lamps on (with a click, or from
    the keyboard), read about each room on its panel, see where you are
    on the floor plan, turn the day to evening, go up to the roof terrace
    (a second page, reached with a fade), and book a viewing (a form that
    sends nothing; the flat and its price are made up). It is in the
    HoloML examples section and the start panel.
  • Loading by area (milestone 20), in HoloML 0.2 pages: a group with
    load="near" loads its models only while the viewer is within its
    near of it, and lets them go (their files, pictures, and memory, and
    their share of the page's limits) once the viewer is farther than half
    as much again; what would pass the limits waits until something is
    let go. A model's stand-in, a lighter copy, shows in its place until
    the model has loaded, and again once it is let go. Scripts read
    loaded and hear the load event.
  • The sneaker store (milestone 20): one shoe in ten colourways on the
    walls of a store to walk through, each bay's shoes loaded as you come
    near, published at https://srajpal.github.io/holoml/sneaker-store/:
    open a shoe to see it on a turntable, turn it over, choose its colour
    and size, add it to your cart, and go to a checkout page that places
    nothing (the shoe is Shopify's, from the Khronos glTF sample models,
    CC BY 4.0; its name and prices are made up). It is in the HoloML
    examples section and the start panel.
  • Water, sounds from a place, and animation speed (milestone 21), in
    HoloML 0.2 pages, which completes HoloML 0.2:
    • water: a box of water with a colour and a clarity. What is seen
      through it fades into its colou...
Read more

0.9.0 — developer preview

Pre-release

Choose a tag to compare

@srajpal srajpal released this 27 Sep 03:42

The first public version of HyperSol HyperSpace 3D, released as source
for developers. There are no installers yet: build and run it from
source as described in CONTRIBUTING.md. Version 1.0
comes with installers for Windows and Linux (milestone 16), after HoloML
(milestones 13 to 15).

What it contains (milestones 1 to 11; docs/progress.md
has screenshots of each):

  • Real web pages on a tilted panel in a 3D room, with clicks, typing,
    scrolling, and links landing where they should.
  • Tabs as cards in the room, or as a list in the top bar; tab search,
    mute, reopening closed tabs with their history, sleeping tabs, and an
    economy mode.
  • An address bar with completion from bookmarks and history, a start
    panel, and a right-click menu.
  • Bookmarks, history (searchable, kept in a local SQLite database), and
    the Library.
  • The shield: ad and tracker blocking with open filter lists, element
    hiding, a blocked-page card with "open anyway", a pause per site, and
    encrypted DNS.
  • The layers view, which lifts a page's parts to different depths.
  • Two themes, Nebula (dark) and Daylight (light), or matching the system.
  • An instrument panel with page readouts, certificates, console, network
    list, and browser gauges.
  • Zoom, find in page, downloads, printing, and private tabs.
  • A password manager using the system's keychain, and site permissions.
  • Settings in sections with search, remappable shortcuts, and view
    settings (tilt, parallax, page margin).
  • No telemetry. What the browser stores and sends is listed in
    docs/privacy.md.

For developers:

  • Unit tests (Vitest), lint, type checks, and end-to-end checks
    (Playwright driving the app) for every milestone.
  • GitHub Actions runs all of them on Windows and Linux for every push.
  • Security reports through GitHub's private vulnerability reporting
    (SECURITY.md).

Known limits:

  • Checked on Windows 11, and on Windows and Linux (Ubuntu) by GitHub
    Actions. macOS is untested.
  • The 3D room needs WebGL 2. Where Chromium cannot start it (no graphics
    driver, some virtual machines), pages still work without the room and
    a notice says so.
  • Electron ships no DRM module, so video from Netflix and similar
    services will not play.
  • Built on Electron 44.4.5 (Chromium 152).