TF2 Demo Replay in Browser / dribble.tf
View your Team Fortress 2 STV demo files directly in the browser.
Utilizes three.js for browser based 3D rendering.
Models are primarily served as glTF assets.
- @dylansq - solving map models, textures, skyboxes and grinding map exports
- demos.tf by @icewind1991 - 2D viewer as basis for the project
- demo.js by @icewind1991 - parsing .dem files
- io_import_vmt by @lasa01 - import maps into Blender, for exporting as .gltf
- react-canvas-draw by embiem - canvas drawing tools
![dribble interface](https://private-user-images.githubusercontent.com/9291779/286487765-67dbe001-bc2d-4e55-8848-59097cfe736f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTU3MTQ3OTQsIm5iZiI6MTcxNTcxNDQ5NCwicGF0aCI6Ii85MjkxNzc5LzI4NjQ4Nzc2NS02N2RiZTAwMS1iYzJkLTRlNTUtODg0OC01OTA5N2NmZTczNmYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDUxNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA1MTRUMTkyMTM0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YmFjZWQ4YWEzZTBlNzc5Y2E4OTNlNGYxYWE5MjAwMWM4YzZjNDRkYzAzNTJhNDY3MzQ5OGIwMWIxZjE5MjFkOSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.Vorn6e0AQkgReq2GuilL9VId2nN-Bs4cdKKLlST5rj0)
![dribble interface](https://private-user-images.githubusercontent.com/9291779/286488110-767f8e11-9770-402e-8f35-1c7fc65195ed.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTU3MTQ3OTQsIm5iZiI6MTcxNTcxNDQ5NCwicGF0aCI6Ii85MjkxNzc5LzI4NjQ4ODExMC03NjdmOGUxMS05NzcwLTQwMmUtOGYzNS0xYzdmYzY1MTk1ZWQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDUxNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA1MTRUMTkyMTM0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NTc4MWI2OGUxZGM5Y2MxY2FmYjYyOGVkMTg2NmFjMTdlNjY2YmZhZmFjYmRhNTcyODYyZGRhMmUwZWFjMWU2YSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.tINoO6z8pSOqcE6ikNiCgcgCuzwNxYH1ZPxMDAQxOVY)