Skip to content
Projects

brunosimon/folio-2025 has 2,024 GitHub stars and 348 forks. GitHot measured +23 in 7 days. Last checked 2026-11-09 22:08 UTC. Last push 2026-04-07.

How these counts are measured

Download and install Node.js then run this followed commands:

Measured star growth

in 24h
Update delayed
in 7 days
+23
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Folio 2025

image info

Setup

Create .env file based on .env.example

Download and install Node.js then run this followed commands:

# Install dependencies
npm install --force

# Serve at localhost:1234
npm run dev

# Build for production in the dist/ directory
npm run build

Game loop

0

  • Time
  • Inputs

1

  • Player:pre-physics (Inputs)

2

  • PhysicalVehicle:pre-physics (Player:pre-physics)

3

  • Physics

4

  • PhysicsWireframe (Physics)
  • Objects (Physics)

5

  • PhysicalVehicle:post-physics (Player:pre-physics)

6

  • Player:post-physics (Physics, PhysicalVehicle:post-physics)

7

  • View (Inputs, Player:post-physics)

8

  • Intro
  • DayCycles
  • YearCycles
  • Weather (DayCycles, YearCycles)
  • Zones (Player:post-physics)
  • VisualVehicle (PhysicalVehicle:post-physics, Inputs, Player:post-physics, View)

9

  • Wind (Weather)
  • Lighting (DayCycles, View)
  • Tornado (DayCycles, PhysicalVehicle)
  • InteractivePoints (Player:post-physics)
  • Tracks (VisualVehicle)

10

  • Area++ (View, PhysicalVehicle:post-physics, Player:post-physics, Wind)
  • Foliage (VisualVehicle, View)
  • Fog (View)
  • Reveal (DayCycles)
  • Terrain (Tracks)
  • Trails (PhysicalVehicle)
  • Floor (View)
  • Grass (View, Wind)
  • Leaves (View, PhysicalVehicle)
  • Lightnings (View, Weather)
  • RainLines (View, Weather, Reveal)
  • Snow (View, Weather, Reveal, Tracks)
  • VisualTornado (Tornado)
  • WaterSurface (Weather, View)
  • Benches (Objects)
  • Bricks (Objects)
  • ExplosiveCrates (Objects)
  • Fences (Objects)
  • Lanterns (Objects)
  • Whispers (Player)

13

  • InstancedGroup (Objects, [SpecificObjects])

14

  • Audio (View, Objects)
  • Notifications
  • Title (PhysicalVehicle:post-physics)

998

  • Rendering

999

  • Monitoring

Blender

Export

  • Mute the palette texture node (loaded and set in Three.js Material directly)
  • Use corresponding export presets
  • Don't use compression (will be done later)

Compress

Run npm run compress

Will do the following

GLB

  • Traverses the static/ folder looking for glb files (ignoring already compressed files)
  • Compresses embeded texture with etc1s --quality 255 (lossy, GPU friendly)
  • Generates new files to preserve originals

Texture files

  • Traverses the static/ folder looking for png|jpg files (ignoring non-model related folders)
  • Compresses with default preset to --encode etc1s --qlevel 255 (lossy, GPU friendly) or specific preset according to path
  • Generates new files to preserve originals

UI files

  • Traverses the static/ui. folder looking for png|jpg files
  • Compresses to WebP

Resources

Explore related projects