PyRFDT Overview
Understanding the PyRFDT ecosystem and RFDT Editor
System Architecture
PyRFDT uses a client-server architecture that combines Python's flexibility with web-based visualization.
Python Backend
Scene management, simulation engine, and WebSocket server
- • Scene & Object API
- • Component System
- • Simulation Control
- • Data Processing
RFDT-Core
High-performance C++ ray tracing and EM simulation
- • GPU Ray Tracing
- • Wave Propagation
- • Differentiable Rendering
- • Physics Engine
Web Editor
Interactive web-based visual interface (auto-downloaded)
- • 3D Visualization
- • Property Editing
- • Node Editor
- • Results Viewer
Communication Flow
Python API
User Code
↔
WebSocket
Real-time Sync
↔
Web Editor
Visualization
Quick Start
Get up and running with PyRFDT in just a few lines of code:
1. Start Server & Editor
from rfdt import Scene, Server, ObjectFactory
# Create a scene
scene = Scene()
# Create and start the server
server = Server(scene=scene)
server.start(start_editor=True) # Opens browser automatically
print("✓ Server running at http://localhost:8080")First Time Setup
The first time you run this, the RFDT Editor will be automatically downloaded and built. This may take a few minutes.
2. Create Objects
# Create basic objects
cube = ObjectFactory.create_cube(
position=[0, 0, 0],
name="MyCube"
)
sphere = ObjectFactory.create_sphere(
position=[3, 0, 0],
name="MySphere"
)
# Add to scene
scene.add_object(cube)
scene.add_object(sphere)
# Objects appear in Editor immediately!3. Modify Properties
# Access components using dictionary syntax
cube["Transform"].position = [1.0, 2.0, 3.0]
cube["Material"].color = [1.0, 0.5, 0.0, 1.0] # Orange
cube["Material"].metalness = 0.8
# Add more components
cube.add_component("Light")
cube["Light"].intensity = 2.0
# Changes sync to Editor in real-time!RFDT Editor
The RFDT Editor is a web-based visual interface that connects to your Python backend, providing real-time visualization and interactive editing capabilities.